如何使用JQuery / JS从此XML文档中检索主题标记的值?

时间:2016-04-26 16:36:56

标签: jquery xml xml-parsing

标题显示我正在尝试检索<t:Subject>标记的值。我正在关注https://api.jquery.com/jQuery.parseXML/的例子。我只添加了t\\:部分来说明命名空间。 代码非常简单:

    var xmlDom = $.parseXML(str),
    $xml = $(xmlDom),
    $title = $xml.find("t\\:Subject");
    console.log($title);

但是,我似乎无法找到主题标签。整个代码粘贴在下面。另外,这里是jsfiddle链接:http://jsfiddle.net/k7Lbeho7/

我做错了什么?                                           

  var str = 
'<?xml version="1.0" encoding="UTF-8"?>' +
'<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">' +
   '<s:Header>' +
      '<h:ServerVersionInfo xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" MajorVersion="15" MinorVersion="1" MajorBuildNumber="477" MinorBuildNumber="12" Version="V2016_01_06" />' +
   '</s:Header>' +
   '<s:Body>' +
      '<m:FindItemResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">' +
         '<m:ResponseMessages>' +
            '<m:FindItemResponseMessage ResponseClass="Success">' +
               '<m:ResponseCode>NoError</m:ResponseCode>' +
               '<m:RootFolder IndexedPagingOffset="1" TotalItemsInView="1" IncludesLastItemInRange="true">' +
                  '<t:Items>' +
                     '<t:Message>' +
                        '<t:ItemId Id="AQMkADAwATM3ZmYAZS1lOTAwAC0wMAA1ZS0wMAItMDAKAEYAAAPiAHaCXAJHRJ3V9VdvY0KtBwAj99d213jITaEDW4/40fguAAACAQwAAAAj99d213jITaEDW4/40fguAAACAYAAAAA=" ChangeKey="CQAAABYAAAAj99d213jITaEDW4/40fguAAAFEzNQ" />' +
                        '<t:ParentFolderId Id="AQMkADAwATM3ZmYAZS1lOTAwAC0wMAA1ZS0wMAItMDAKAC4AAAPiAHaCXAJHRJ3V9VdvY0KtAQAj99d213jITaEDW4/40fguAAACAQwAAAA=" ChangeKey="AQAAAA==" />' +
                        '<t:ItemClass>IPM.Note</t:ItemClass>' +
                        '<t:Subject>test 1</t:Subject>' +
                        '<t:Sensitivity>Normal</t:Sensitivity>' +
                        '<t:DateTimeReceived>2016-04-18T19:28:34Z</t:DateTimeReceived>' +
                        '<t:Size>31259</t:Size>' +
                        '<t:Categories>' +
                           '<t:String>Muktader</t:String>' +
                        '</t:Categories>' +
                        '<t:Importance>Normal</t:Importance>' +
                        '<t:IsSubmitted>false</t:IsSubmitted>' +
                        '<t:IsDraft>false</t:IsDraft>' +
                        '<t:IsFromMe>false</t:IsFromMe>' +
                        '<t:IsResend>false</t:IsResend>' +
                        '<t:IsUnmodified>true</t:IsUnmodified>' +
                        '<t:DateTimeSent>2016-04-18T19:28:15Z</t:DateTimeSent>' +
                        '<t:DateTimeCreated>2016-04-18T19:28:34Z</t:DateTimeCreated>' +
                        '<t:DisplayTo>Rayhan Mukt</t:DisplayTo>' +
                        '<t:HasAttachments>false</t:HasAttachments>' +
                        '<t:Culture>en-US</t:Culture>' +
                        '<t:EffectiveRights>' +
                           '<t:CreateAssociated>false</t:CreateAssociated>' +
                           '<t:CreateContents>false</t:CreateContents>' +
                           '<t:CreateHierarchy>false</t:CreateHierarchy>' +
                           '<t:Delete>true</t:Delete>' +
                           '<t:Modify>true</t:Modify>' +
                           '<t:Read>true</t:Read>' +
                           '<t:ViewPrivateItems>true</t:ViewPrivateItems>' +
                        '</t:EffectiveRights>' +
                        '<t:LastModifiedName>Rayhan Mukt</t:LastModifiedName>' +
                        '<t:LastModifiedTime>2016-04-25T19:07:14Z</t:LastModifiedTime>' +
                        '<t:IsAssociated>false</t:IsAssociated>' +
                        '<t:WebClientReadFormQueryString>https://outlook.live.com/owa/?ItemID=AQMkADAwATM3ZmYAZS1lOTAwAC0wMAA1ZS0wMAjITaEDW4%2F40fguAAACAYAAAAA%3D&amp;exvsurl=1&amp;viewmodel=ReadMessageItem</t:WebClientReadFormQueryString>' +
                        '<t:ConversationId Id="AQQkADAwATM3ZmYAZS1lOTAwAC0wMAA1ZS0wMAItMDAKABAA1girw4iphkySUig5yW65Fg==" />' +
                        '<t:Flag>' +
                           '<t:FlagStatus>NotFlagged</t:FlagStatus>' +
                        '</t:Flag>' +
                        '<t:InstanceKey>AQAAAAAAAQwBAAAAAAABgAAAAAA=</t:InstanceKey>' +
                        '<t:Sender>' +
                           '<t:Mailbox>' +
                              '<t:Name>Rayhan Mukt</t:Name>' +
                              '<t:EmailAddress>metesing@outlook.com</t:EmailAddress>' +
                              '<t:RoutingType>SMTP</t:RoutingType>' +
                              '<t:MailboxType>OneOff</t:MailboxType>' +
                           '</t:Mailbox>' +
                        '</t:Sender>' +
                        '<t:IsReadReceiptRequested>false</t:IsReadReceiptRequested>' +
                        '<t:ConversationIndex>AQHRmah01girw4iphkySUig5yW65Fg==</t:ConversationIndex>' +
                        '<t:ConversationTopic>test 1</t:ConversationTopic>' +
                        '<t:From>' +
                           '<t:Mailbox>' +
                              '<t:Name>Rayhan Mukt</t:Name>' +
                              '<t:EmailAddress>metesing@outlook.com</t:EmailAddress>' +
                              '<t:RoutingType>SMTP</t:RoutingType>' +
                              '<t:MailboxType>OneOff</t:MailboxType>' +
                           '</t:Mailbox>' +
                        '</t:From>' +
                        '<t:InternetMessageId>&lt;CY1PR0101MB15931070237D1A80EF1F4DA3BB6B0@CY1PR0101MB1593.prod.exchangelabs.com&gt;</t:InternetMessageId>' +
                        '<t:IsRead>true</t:IsRead>' +
                        '<t:ReceivedBy>' +
                           '<t:Mailbox>' +
                              '<t:Name>Rayhan Mukt</t:Name>' +
                              '<t:RoutingType>EX</t:RoutingType>' +
                              '<t:MailboxType>OneOff</t:MailboxType>' +
                           '</t:Mailbox>' +
                        '</t:ReceivedBy>' +
                        '<t:ReceivedRepresenting>' +
                           '<t:Mailbox>' +
                              '<t:Name>Rayhan Mukt</t:Name>' +
                              '<t:EmailAddress>/O=FIRST ORGANIZATION/OU=EXCHANGE ADMINISTRATIVE GROUP(FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=00037FFEE900005E</t:EmailAddress>' +
                              '<t:RoutingType>EX</t:RoutingType>' +
                              '<t:MailboxType>OneOff</t:MailboxType>' +
'                           </t:Mailbox>' +
'                        </t:ReceivedRepresenting>' +
'                     </t:Message>' +
'                  </t:Items>' +
'               </m:RootFolder>' +
'            </m:FindItemResponseMessage>' +
'         </m:ResponseMessages>' +
'      </m:FindItemResponse>' +
'   </s:Body>' +
'</s:Envelope>';


    var xmlDom = $.parseXML(str),
    $xml = $(xmlDom),
    $title = $xml.find("t\\:Subject");
    console.log($title);
  </script>
</head>
<body>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

JLabel更改为$xml.find("t\\:Subject");解决了这个问题。