这是我的XML的一部分:
<TextLine Version="2" objectID="3" persistentID="6">
<BaseProperties Version="5">
<txBase>665.249</txBase>
<XPos>221.205</XPos>
<angle>0</angle>
<verticalText>false</verticalText>
<objectLeading>0</objectLeading>
</BaseProperties>
<EnclosingObjectType>block</EnclosingObjectType>
<Alignment>center</Alignment>
<TRString>xfsadxzcsdf</TRString>
<RunLengthEncodedCharacterAttributes>
<CharacterAttributes RunCount="13" StyleRef="4098" TextRef="4096" TXKerning="0" TXPostKerning="0" BaselineShifting="0" />
</RunLengthEncodedCharacterAttributes>
<tagName></tagName>
</TextLine>
例如我把它放在xmlString
中,在Safari中:
var parser = new DOMParser();
var xmlObject = parser.parseFromString(xmlString, 'text/xml');
console.log(xmlObject.getElementsByTagName('TRString')[0].innerHTML);
它返回错误: TypeError:undefined不是对象
我试过了:
console.log(xmlObject.getElementsByTagName('TRString')[0]);
它不是#element
而是string
。在这个例子中它应该是:
<TRString>xfsadxzcsdf</TRString>
我在Chrome中没有此问题。我知道这并不难解决。但我想知道谁更标准?
答案 0 :(得分:1)
Safari中textContent
为你工作吗?
如果是这样,当textContent
不可用时,您可以使用innerHTML
var xmlValue = xmlObject.getElementsByTagName('TRString')[0].innerHTML ||
xmlObject.getElementsByTagName('TRString')[0].textContent;