我有以下字符串:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hsn="hsn.us.banner.hsntech.com:message1" xmlns:hsn1="hsn.us.banner.hsntech.com:header" xmlns:hsn2="hsn.us.banner.hsntech.com:payload"><soapenv:Header/><soapenv:Body>
<msg:L1MessageRequest xmlns:msg="hsn.us.banner.hsntech.com:message1" xmlns:hdr="hsn.us.banner.hsntech.com:header" xmlns:hsn="hsn.us.banner.hsntech.com:payload" xmlns:hsn3="hsn.us.banner.hsntech.com:message1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="hsn.us.banner.hsntech.com:message1 ../HSNLevel1Message.xsd">
<msg:Header xmlns:msg="hsn.us.banner.hsntech.com:message1">
<hdr:MsgID>97w000www7</hdr:MsgID>
<hdr:MsgType>request</hdr:MsgType>
<hdr:MsgTimestamp>2016-01-05T09:00:00</hdr:MsgTimestamp>
<hdr:MsgPriority>low</hdr:MsgPriority>
<hdr:MsgSourceSystem>SUS-SCM</hdr:MsgSourceSystem>
<hdr:MsgTargetSystem>HSN-Banner</hdr:MsgTargetSystem>
<hdr:MsgEncryption>false</hdr:MsgEncryption>
<hdr:MsgVersion>1.0</hdr:MsgVersion>
<hdr:MsgOperationType>synchronous</hdr:MsgOperationType>
<hdr:MsgOperationName>
<hdr:Verb>UPDATE</hdr:Verb>
<hdr:Noun>Account</hdr:Noun>
</hdr:MsgOperationName>
<hdr:MsgOperationUser>hcmuser</hdr:MsgOperationUser>
</msg:Header>
<msg:Payload xmlns:msg="hsn.us.banner.hsntech.com:message1">
<msg:UpdateAccountRequest>
<hsn:Account>
<hsn:AccountID>1415-1415</hsn:AccountID>
<hsn:CustomFields>
<hsn:CustomField key="HCMAccount" name="HCMAccount" type="hsn:YesNoFlagType">N</hsn:CustomField>
</hsn:CustomFields>
</hsn:Account>
</msg:UpdateAccountRequest>
我需要获取<msg:header ..>
元素的位置。当我使用以下正则表达式“<[a-z0-9]*:Header.*>
”时,由于<soapenv:Header/>
,它返回两个值。匹配“<msg:header..>
”并排除“<soapenv:Header/>
”的正确模式是什么?
感谢