Xml 为什么selectSingleNode什么都不返回?
我试图通过一个唯一属性选择一个节点,但是没有得到任何返回。Xml 为什么selectSingleNode什么都不返回?,xml,vb.net,attributes,Xml,Vb.net,Attributes,我试图通过一个唯一属性选择一个节点,但是没有得到任何返回。 我在这里查过了:这里: 我的目标是能够更新其中一个节点属性。 我的XML如下所示: <?xml version="1.0"?> <settings> <options> ... other nodes here ... </options> <selected> <pref set_number="1" set_name="Five" name=
我在这里查过了:这里: 我的目标是能够更新其中一个节点属性。
我的XML如下所示:
<?xml version="1.0"?>
<settings>
<options>
... other nodes here ...
</options>
<selected>
<pref set_number="1" set_name="Five" name="Number" value="5"/>
<pref set_number="3" set_name="Nine" name="Number" value="9"/>
</selected>
</settings>
我正在尝试将第一个我想知道我做错了什么,以便正确更新属性。您忘记了路径中的pref元素。应该是这样的
Dim node as XmlNode
node = oDoc.selectSingleNode("//settings/selected/pref[@set_number='1']")
然后可以更改属性,如下所示:
node.Attributes("set_name").Value = "Twenty"
在我看来,您正在尝试访问元素上的set_number属性,而不是元素。请尝试//settings/selected/pref[…]如果您使用的是VB.NET,则不应使用MSXML。使用LINQ to XML,或者最糟糕的是XmlDocument。编辑您的答案:如果他需要更多帮助,他应该问一个新问题。这不是一个讨论论坛。@Nathan,谢谢,我完全忽略了/pref元素。我试图使用*MSXML2,但由于无法使MSXML2.IXMLDOMNode.Attributes工作,我最终切换到System.xml
node.Attributes("set_name").Value = "Twenty"