用于解析XML的内联VB
我有一个XML提要,作为对web服务调用的响应返回:用于解析XML的内联VB,xml,vb.net,inline,Xml,Vb.net,Inline,我有一个XML提要,作为对web服务调用的响应返回: <?xml version="1.0" encoding="utf-8"?> <CustomerGetResult xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://WHATEVER/webservice"> <UserEx
<?xml version="1.0" encoding="utf-8"?>
<CustomerGetResult xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://WHATEVER/webservice">
<UserExists>false</UserExists>
<DisableAccountFlag>false</DisableAccountFlag>
</CustomerGetResult>
在这一点上有人能帮我吗?这是在aspx文件中内联的。命名空间是键:
Dim myNamespace As XNamespace = YourXMLNameSpace
For Each report As XElement In xmlr.Descendants(myNamespace + "CustomerGetResult")
Console.WriteLine(report.Element(myNamespace + "UserExists").Value)
Next
这里有两个选择
Dim strRead = "<?xml version=""1.0"" encoding=""utf-8""?>" & _
"<CustomerGetResult xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns=""http://WHATEVER/webservice"">" & _
"<UserExists>false</UserExists>" & _
"<DisableAccountFlag>false</DisableAccountFlag>" & _
"</CustomerGetResult>"
Dim XMLString As XDocument = XDocument.Parse(strRead)
Dim root As XElement = XMLString.Root
Dim ns As XNamespace = root.GetDefaultNamespace()
'Method 1
Console.WriteLine("UserExists: {0}", CType(XMLString.Descendants(ns + "UserExists").FirstOrDefault(), String))
Console.WriteLine("DisableAccountFlag: {0}", CType(XMLString.Descendants(ns + "DisableAccountFlag").FirstOrDefault(), String))
'Method 2
Console.WriteLine("UserExists: {0}", CType(XMLString.Descendants().Where(Function(x) x.Name.LocalName = "UserExists").FirstOrDefault(), String))
Console.WriteLine("DisableAccountFlag: {0}", CType(XMLString.Descendants().Where(Function(x) x.Name.LocalName = "DisableAccountFlag").FirstOrDefault(), String))
Dim stread=”“&_
"" & _
"假"及_
"假"及_
""
Dim XMLString作为XDocument=XDocument.Parse(strRead)
按XElement=XMLString.root设置根的尺寸
Dim ns为XNamespace=root.GetDefaultNamespace()
“方法1
WriteLine(“UserExists:{0}”,CType(XMLString.subjects(ns+“UserExists”).FirstOrDefault(),String))
WriteLine(“DisableAccountFlag:{0}”,CType(XMLString.subjects(ns+“DisableAccountFlag”).FirstOrDefault(),String))
“方法2
Console.WriteLine(“UserExists:{0}”,CType(XMLString.subjections().Where(Function(x)x.Name.LocalName=“UserExists”).FirstOrDefault(),String))
Console.WriteLine(“DisableAccountFlag:{0}”,CType(XMLString.subjections().Where(Function(x)x.Name.LocalName=“DisableAccountFlag”).FirstOrDefault(),String))
您需要使用名称空间。
Dim myNamespace As XNamespace = YourXMLNameSpace
For Each report As XElement In xmlr.Descendants(myNamespace + "CustomerGetResult")
Console.WriteLine(report.Element(myNamespace + "UserExists").Value)
Next
Dim strRead = "<?xml version=""1.0"" encoding=""utf-8""?>" & _
"<CustomerGetResult xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns=""http://WHATEVER/webservice"">" & _
"<UserExists>false</UserExists>" & _
"<DisableAccountFlag>false</DisableAccountFlag>" & _
"</CustomerGetResult>"
Dim XMLString As XDocument = XDocument.Parse(strRead)
Dim root As XElement = XMLString.Root
Dim ns As XNamespace = root.GetDefaultNamespace()
'Method 1
Console.WriteLine("UserExists: {0}", CType(XMLString.Descendants(ns + "UserExists").FirstOrDefault(), String))
Console.WriteLine("DisableAccountFlag: {0}", CType(XMLString.Descendants(ns + "DisableAccountFlag").FirstOrDefault(), String))
'Method 2
Console.WriteLine("UserExists: {0}", CType(XMLString.Descendants().Where(Function(x) x.Name.LocalName = "UserExists").FirstOrDefault(), String))
Console.WriteLine("DisableAccountFlag: {0}", CType(XMLString.Descendants().Where(Function(x) x.Name.LocalName = "DisableAccountFlag").FirstOrDefault(), String))