在javascript中访问m:XML对象中的属性

时间:2017-05-31 19:23:50

标签: javascript xml

我的javascript代码中有以下XML对象。现在我想获取<d:Attachment>标记的内容并存储在单独的变量中。我该怎么做?

<entry xmlns="http://www.w3.org/2005/Atom"
       xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"
       xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"
       xml:base="https://fioriq.gerdau.com:443/sap/opu/odata/sap/ZVS_GLNSCNF_GW_SRV/">
  <id>…</id>
  <title type="text">Text Title</title>
  <updated>2017-05-31T19:09:36Z</updated>
  <category term="ZVS_GLNSCNF_GW_SRV.Form"
            scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme">
  </category>
  <link href="FormSet(Scnfid='1',Formid='1')" rel="self" title="Form"></link>
  <content type="image/jpeg" src="FormSet(Scnfid='1',Formid='1')/$value"></content>
  <m:properties>
    <d:Attachment></d:Attachment>
    <d:Imagebase64></d:Imagebase64>
    <d:MimeType>image/jpeg</d:MimeType>
    <d:Scnfid>1</d:Scnfid>
    <d:Formid>1</d:Formid>
    <d:Description></d:Description>
    <d:Owner></d:Owner>
   <d:Attachmentid>1</d:Attachmentid>
  </m:properties>
</entry>

这是我的对象

var xmlStr = jQuery.parseXML(oEvent.getParameters().files[0].responseRaw);

我试过这个 var attachment = xmlStr.getElementsByTagName("Attachment");

这个 var attachment = xmlStr.getElementsByTagName("d\\:Attachment");

这些都不起作用。 第二种方式返回HTMLCollection对象。但我只想要这个标签的内容

更新

这种方式适用于iOS设备:

var attachment = xmlStr.getElementsByTagName("d:Attachment")[0].childNodes[0].nodeValue;

这种方式适用于Android设备:

var items = xmlStr.getElementsByTagName("Attachment");

for (var i = 0; i < items.length; i++) {
  var attachment = items[i].childNodes[0].nodeValue;
}

0 个答案:

没有答案