从具有多个名称空间的xml消息中读取元素值
我对Linq到XML非常陌生。我正在尝试获取此消息中MSGID节点的元素值:从具有多个名称空间的xml消息中读取元素值,xml,vb.net,linq,Xml,Vb.net,Linq,我对Linq到XML非常陌生。我正在尝试获取此消息中MSGID节点的元素值: <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<nsah:AuditHeader xmlns:nsah="http://schemas.rnab.nl/giraal/AuditHeader/1.0">
<To>mq://rifb/accounting/AP</To>
<RelatesTo>mq://rnab/giraal/PE/BookingStatusAPS/01</RelatesTo>
<Action>mq://rifb/accounting/AP/BookingService/01</Action>
<From>mq://rnab/giraal/PE</From>
</nsah:AuditHeader>
</soapenv:Header>
<soapenv:Body>
<ns5:CREATEPMNT_FSFS_REQ xsi:schemaLocation="http://fcubs.ofss.com/service/FCUBSCPGServices CommPmntGtwyCreate-Req-Full.xsd" xmlns:ns5="http://fcubs.ofss.com/service/FCUBSCPGServices">
<ns5:FCUBS_HEADER>
<ns5:SOURCE>SOURCE</ns5:SOURCE>
<ns5:UBSCOMP>FCUBS</ns5:UBSCOMP>
<ns5:MSGID>MsgiD01236549876546351321</ns5:MSGID>
<ns5:USERID>UId</ns5:USERID>
<ns5:BRANCH>BRANCH</ns5:BRANCH>
<ns5:MODULEID>MId</ns5:MODULEID>
<ns5:SERVICE>SERVICE</ns5:SERVICE>
<ns5:OPERATION>Operation</ns5:OPERATION>
<ns5:DESTINATION>Destination</ns5:DESTINATION>
</ns5:FCUBS_HEADER>
<ns5:FCUBS_BODY>
<ns5:PmntDETAILS>
<ns5:XREF>XREF321654987</ns5:XREF>
<ns5:AMOUNT>0.09000</ns5:AMOUNT>
<ns5:VALUE_DATE>2012-12-20</ns5:VALUE_DATE>
<ns5:CCY>EUR</ns5:CCY>
<ns5:CUST_AC_NO>123456789</ns5:CUST_AC_NO>
<ns5:CPTY_AC_NO>987654321</ns5:CPTY_AC_NO>
</ns5:PmntDETAILS>
</ns5:FCUBS_BODY>
</ns5:CREATEPMNT_FSFS_REQ>
</soapenv:Body>
</soapenv:Envelope>
调试代码时,在MsgId=“其他信息:”:“字符(十六进制值0x3A)不能包含在名称中时,会出现以下错误。”
非常感谢您的帮助您将
XNs\u ns5
隐式声明为字符串。因此:XNs\u ns5+“MSGID”
表示表示元素名称而不是前缀+元素名称的连接字符串。因为元素名不应该包含冒号(:
),所以该表达式将触发错误。将XNs\u ns5
的声明更改为键入XNamespace
,错误将出现:
Dim XNs_ns5 As XNamespace = "http://fcubs.ofss.com/service/FCUBSCPGServices"
Dim XNs_ns5 As XNamespace = "http://fcubs.ofss.com/service/FCUBSCPGServices"