0
テキストファイルから取得した次のXML文字列の "U8"ノード内の情報(NameおよびVal)を取得したいと考えています。XMLシリアライズ戻り値null
<Cluster>
<String>
<Name>SomeNAme</Name>
<Val>
<Cluster>
<Name>SomeNAme</Name>
<NumElts>2</NumElts>
<U8>
<Name>SomeNAme</Name>
<Val>11</Val>
</U8>
<U8>
<Name>SomeNAme</Name>
<Val>208</Val>
</U8>
</Cluster>
</Val>
</String>
</Cluster>
私はU8ノードに属する情報を得るために次のように書いたが、出力はNullを返す。私は何を間違えたのですか?ありがとう
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
using System.IO;
using System.Xml.Linq;
using System.Xml;
namespace testXMLSerializer
{
class Class4
{
static void Main(string[] args)
{
var xml = File.ReadAllText(@"C:\test.xml");
XmlSerializer serializer = new XmlSerializer(typeof(Cluster));
using (var reader = new StringReader(xml))
{
var info = (Cluster)serializer.Deserialize(reader);
}
Console.Read();
}
}
[XmlRoot("Cluster")]
public class Cluster
{
[XmlElement("String")]
public List<Cluster_String> Cluster_String { get; set; } // I'll have many of this items in the actual xml
}
public class Cluster_String
{
[XmlElement("Val")]
public Val Val { get; set; }
}
public class Val
{
[XmlElement("Cluster")]
public Cluster_S_V_Cluster Cluster_S_V_Cluster { get; set; }
}
public class Cluster_S_V_Cluster
{
[XmlElement("U8")]
public List<U8> U8 { get; set; }
}
public class U8
{
public string Name { get; set; }
public string Val { get; set; }
}
}
が、私はライン「VAR情報= ...」の「無効演算例外」を得た エラーは次のとおりです。 国連は、 System.Xml.dllで 'System.InvalidOperationException'という型の例外を処理しました – CB4
これを数回試しました。 私が掲載したコードはうまくいくはずです。 "HtmlDecode"の後にはどうなりますか?あなたがデバッガでそれを見たいなら、あなたは有効なXMLを得ますか? オリジナルのXMLファイルを投稿できますか?と完全な例外(内部例外)? –
私のXMLテキストファイルは大きなファイルです。 XMLにはまだエンコードされている部分を除いて、すべてXMLがデコードされています。あなたの質問では、HtmlDecoderの直後にXML文字列に "XMLページを表示できません。 XSLスタイルシートを使用してXML入力を表示できません。エラーを修正してから、 。 ---------------------------------------------- ---------------------------------- この場所に空白は使用できません。リソースのファイルを処理中にエラーが発生しました。 " – CB4