-1

アンパサンドを含む完全な xml ドキュメントがあり、読み込みに問題があります。すべてのアンパサンドを置き換えてみましたが、<記号についてエラーが発生します。ここに私の変換コードがあります:

        Dim xmlfile As String

        Dim str As StreamReader = New StreamReader("doc.xml")

        xmlfile = str.ReadToEnd()

         xmlfile = xmlfile.Replace("&amp;", "&")
         xmlfile = xmlfile.Replace("&quot;", Chr(34))
         xmlfile = xmlfile.Replace("&apos;", "'")
         xmlfile = xmlfile.Replace("&lt;", "<")
         xmlfile = xmlfile.Replace("&gt;", ">")

        Dim xmldoc As New XmlDocument
        xmldoc.LoadXml(xmlfile)

ここから、エラーが発生しています...

アンパサンド変換せずにxmlファイルをそのまま読み込もうとすると、位置が分かっていてもノードが選択されない

Dim names as XmlNodeList = xmldoc.selectnodes("/Team/Name[@ID=Grizzlie]/Member")
For each name in names
msgbox(name.OuterXml)

しかし、アプリを実行した後にメッセージが表示されません...

何も表示されない理由s doesnや、アンパサントでいっぱいのxmlドキュメントを正しく読み取る方法はありますか?

xml のサンプル コードは次のとおりです。

<Team>
<Name ID="Grizzlie"&gt; &lt;Member FirstName=&quot;Thomas&quot; SecondName=&quot;Andreson&quot; /&gt;&lt;Member FirstName=&quot;Nick&quot; SecondName=&quot;Patterson&quot; /&gt;&lt;Member FirstName=&quot;James&quot; SecondName=&quot;Cooker&quot;/&gt;&lt;/Name&gt;
</Team>
4

2 に答える 2

0

問題は XPath クエリにある可能性があります。ドキュメント自体が無効であると仮定する前に、それが正しいことを確認します。

これらのアンパサンドは、XML ドキュメントを有効にするために必要です。作成者がこれらの記号「<>&'」を実際の XML として想定せずに配置したかったため、それらがそこに配置された可能性が最も高いです。

編集: あなたが持っている XML は無効です。 http://schneegans.de/sv/

于 2013-08-18T20:51:32.147 に答える