Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 为什么selectSingleNode什么都不返回?_Xml_Vb.net_Attributes - Fatal编程技术网

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"