Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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
Asp.net 解析XML不会通过SelectNodes方法选择任何节点_Asp.net_Xml_Vb.net_Xml Parsing - Fatal编程技术网

Asp.net 解析XML不会通过SelectNodes方法选择任何节点

Asp.net 解析XML不会通过SelectNodes方法选择任何节点,asp.net,xml,vb.net,xml-parsing,Asp.net,Xml,Vb.net,Xml Parsing,我正在尝试解析此XML: <?xml version="1.0" encoding="utf-8" ?> <products xmlns="http://www.fusepumpaffiliates.co.uk/feed-distribution/etsy/us/"> <product> <title>Product 1</title> </product> <product&g

我正在尝试解析此XML:

<?xml version="1.0" encoding="utf-8" ?>
<products xmlns="http://www.fusepumpaffiliates.co.uk/feed-distribution/etsy/us/">
    <product>
        <title>Product 1</title>
    </product>
    <product>
        <title>Product 2</title>
    </product>
    <product>
        <title>Product 3</title>
    </product>  
</products> 

显然,当XML中没有定义名称空间时,我可以为名称空间使用任何名称。但是如果有一个名称空间,比如在我的提要中,我必须使用这个名称空间。
现在它可以工作了。

在这些情况下,有一个过程对我来说总是有效的:首先是有一个完美工作的简化版本,然后增加其复杂性/考虑适当的输入。例如:以一个可靠的简单示例代码(MSDN->;我认为您使用的是不同的名称空间;但您明白了这一点);编写一个简单的输入文件(几个节点理想地模拟真实输入的结构)并努力使用它,直到确保它工作正常为止。然后你可以根据需要放大它。谢谢!是定义的名称空间导致了问题。嗯。。。事实上,是你而不是我。让我走上正轨的要点:)
Dim req As HttpWebRequest
Dim Resp As HttpWebResponse
Dim reader As StreamReader
Dim responseString As String = ""
'get the XML
Dim productXML As New XmlDocument
Dim node As XmlNode
Dim root As XmlNode

req = HttpWebRequest.Create(fpm.feedURL)
req.Timeout = 3600000 '3600 seconds
Resp = req.GetResponse()
reader = New StreamReader(Resp.GetResponseStream)
responseString = reader.ReadToEnd()

productXML.LoadXml(responseString)
Dim mgr As XmlNamespaceManager = New XmlNamespaceManager(productXML.NameTable)
mgr.AddNamespace("whatever", productXML.DocumentElement.NamespaceURI)
root = productXML.DocumentElement

nodeList = root.SelectNodes("/products/product")    

'nodeList.count = 0 here?!??!

For Each node In nodeList


        If node.SelectSingleNode("categories") IsNot Nothing Then   

        End If
Next node