2

上記の質問がありますが、xml を含む文字列を解析しようとしています。クラス XDocument および XElement を使用して、XML 上の情報を辞書に解析しています。コードは次のようになります。

XDocument xDoc = XDocument.Parse(xmlString); 
Dictionary<string, string> dic = new Dictionary<string,string>();
foreach(XElement x in xDoc.Root.Descendants())
{
    temp.Add(x.Name.ToString(),x.Value.ToString());
}

**xmlString は、xml コンテンツを含む文字列です。

これは通常、xmlString のタグに何らかの特殊文字 ('>'、'<'、'&') が含まれている場合を除き、正常に機能します。たとえば、次のようなものが表示された場合:

<Content> #include <stdio.h> </Content>

私が実装したコードはこのケースでは機能しないと思いました。なぜなら、C# は XML タグがプレーン テキストであると彼が信じているものを調べるからです。基本的に、私の質問は、前に述べた特殊文字を含むこの種の XML を解析するにはどうすればよいですか?

4

1 に答える 1

3

私の理解が正しければ、無効な xml を解析しようとしています。

可能であれば、この xml を生成するコードを修正して有効にすることをお勧めします。

できない場合は、これらの特殊文字をエンコードされたバリアントに変換する関数を作成/使用する必要があります。

于 2012-11-20T23:53:05.783 に答える