-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

1

我认为问题可能出在您的 xpath 查询上:条件 @=Grizzlie 不会匹配任何内容,因为它正在寻找具有空名称的属性。也许你的意思是

/团队[@Name='Grizzlie']/成员

于 2013-08-18T20:30:12.050 回答
0

问题可能与您的 XPath 查询有关。在假设文档本身无效之前,我会验证它是否正确。

要使 XML 文档有效,这些与号是必需的。它们很可能被放置在那里,因为创建者想要放置这些符号“<>&'”,而不会将其假定为真正的 XML。

编辑:您拥有的 XML 无效。 http://schneegans.de/sv/

于 2013-08-18T20:51:32.147 回答