Tag: xml namespaces

XPath如何处理XML名称空间?

XPath如何处理XML名称空间? 如果我使用 /IntuitResponse/QueryResponse/Bill/Id parsing下面的XML文档,我得到0个节点。 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2016-10-14T10:48:39.109-07:00"> <QueryResponse startPosition="1" maxResults="79" totalCount="79"> <Bill domain="QBO" sparse="false"> <Id>=1</Id> </Bill> </QueryResponse> </IntuitResponse> 但是,我没有在XPath中指定名称空间(即http://schema.intuit.com/finance/v3不是path中每个标记的前缀)。 如果我没有明确地告诉XPath XPath如何知道我想要的Id ? 我想在这种情况下(因为只有一个名称空间),XPath可以完全忽略xmlns 。 但是,如果有多个命名空间,事情可能会变得丑陋。

添加限定的XML元素不会inheritance名称空间URI

我怎样才能将一个带有ns前缀的元素附加到另一个元素,并使其inheritance文档中的namespaceURI映射? 例如:实例化parsingXMLstring的文档: pp:q元素从root元素inheritancenamespaceURI == 'abc' ,但将新元素pp:q附加到root ,新元素具有namespaceURI == null doc = new DOMParser().parseFromString( '<root xmlns:pp="abc">' +'<pp:q/>' +'<q/>' +'</root>' ,'text/xml'); root = doc.firstChild; x = root.getElementsByTagName("pp:q").item(0); console.log(x.namespaceURI); // logs abc y = doc.createElement('pp:q') root.appendChild(y) console.log(y.namespaceURI); //logs null 这个例子使用xmldom 库在nodejs中xmldom [下面回复kjhughes] 我也尝试了createElementNS ,但是我觉得这种方式也有问题。 将这些行附加到代码中: a = doc.createElementNS('abc', 'pp:q'); root.appendChild(a) console.log(a.namespaceURI); //abc — i may say it works, […]

XML到JSON – 处理JavaScript中的xml命名空间和别名

我正在尝试使用模块xml2js在node.js中将XML转换为JSON。 如何在访问variables时处理命名空间别名? 下面的代码将我的文件(sampleWithNamespaces.xml) var fs = require('fs'), xml2js = require('xml2js'); var parser = new xml2js.Parser(); fs.readFile('sampleWithNamespaces.xml', function (err, data) { parser.parseString(data, function (err, result) { console.dir(result); console.log('Done'); }); }); sampleWithNamespaces.xml: <d:student xmlns:d='http://www.develop.com/student'> <d:id>3235329</d:id> <d:name>Jeff Smith</d:name> <d:language>JavaScript</d:language> <d:rating>9.5</d:rating> </d:student> 输出: $ node xml2jsTest.js { '@': { 'xmlns:d': 'http://www.develop.com/student' }, 'd:id': '3235329', 'd:name': 'Jeff Smith', 'd:language': 'JavaScript', […]