Tag: xmlparsing

Node.js将Xml转换为JSON以用于大型Xml文件的示例

我对Node.js比较陌生 我试图将83个大小各为400MB的XML文件转换为JSON。 每个文件都包含这样的数据(每个元素都有大量的附加语句): <case-file> <serial-number>75563140</serial-number> <registration-number>0000000</registration-number> <transaction-date>20130101</transaction-date> <case-file-header> <filing-date>19981002</filing-date> <status-code>686</status-code> <status-date>20130101</status-date> </case-file-header> <case-file-statements> <case-file-statement> <type-code>D10000</type-code> <text>"MUSIC"</text> </case-file-statement> <case-file-statement> <type-code>GS0351</type-code> <text>compact discs</text> </case-file-statement> </case-file-statements> <case-file-event-statements> <case-file-event-statement> <code>PUBO</code> <type>A</type> <description-text>PUBLISHED FOR OPPOSITION</description-text> <date>20130101</date> <number>28</number> </case-file-event-statement> <case-file-event-statement> <code>NPUB</code> <type>O</type> <description-text>NOTICE OF PUBLICATION</description-text> <date>20121212</date> <number>27</number> </case-file-event-statement> </case-file-event-statements> 我已经尝试了很多不同的节点模块,包括sax,node-xml,node-expat和xml2json。 很显然,我需要从文件中传输数据,并通过XMLparsing器pipe理它,然后将其转换为JSON。 我也尝试阅读一些博客等,试图解释,虽然表面上,如何parsingXml。 在Node中,我首先尝试了sax,但是我无法弄清楚如何以可以将其转换为JSON的格式提取数据。 xml2json不能在stream上工作。 节点xml看起来令人鼓舞,但我无法弄清楚它是如何parsing块有意义的任何方式。 node-expat指向libexpat文档,这似乎需要一个博士学位。 Node元素也是一样的,指向Python的实现,但是没有解释已经实现了什么或者如何使用它。 有人能指点我可以用来开始的例子吗?

Nodejs:parsingXML,编辑值,使用sax-js模块保存最终结果

我想达到的是: parsing一大块XML 编辑一些值 将最终结果保存在一个新的xml文件中 这个模块是sax-js: https : //github.com/isaacs/sax-js#readme 该模块有一些内置的机制来读/写任何。 我认为这个任务是小菜一碟。 相反,我一整天都在苦苦挣扎。 这是我的代码: var fs = require('fs'); var saxStream = require("sax").createStream(true); saxStream.on("text", function (node) { if (node === 'foo') { //the content I want to update node = 'blabla'; } }); fs.createReadStream("mysongs.xml") .pipe(saxStream) .pipe(fs.createWriteStream("mysongs-copy.xml")); 我确实认为更新一些内容(参见上面的注释)就足以将更新后的stream写入一个新文件。 这个代码有什么问题? 谢谢你的帮助, 罗兰

除了使用下划线键以外,如何使用xml2js访问XML元素文本?

我有一块XML看起来像这样: <errorMessage> <payload encoding="plain">The error message</payload> </errorMessage> 我使用xml2jsparsing器: var parser = new xml2js.Parser({ explicitCharKey: false, trim: true, explicitRoot: true, mergeAttrs: true }); parser.parseString(myString, function(err, result) { var payload = result.errorMessage.payload; // how do I access the error message text? var errorMessage = payload[0]['_']; }); 我需要访问payload内容元素中The error messagestring。 如果我在包含<payload>的节点上使用_键,则正确检索文本,但使用下划线魔术键看起来可疑。 这是推荐的方式吗? 有没有更清洁的方法?

我如何使jQuery.parseXML在node.js中工作

我正在尝试在node.js中使用jQuery parseXml 我得到这个错误: Error: Invalid XML: <?xml version="1.0"… 但问题不在于XML 问题出在node-jquery.js中: parseXML: function( data ) { if ( typeof data !== "string" || !data ) { return null; } var xml, tmp; try { if ( window.DOMParser ) { // Standard tmp = new DOMParser(); xml = tmp.parseFromString( data , "text/xml" ); } else { // […]

节点使用xml2jsparsingxml

我正在尝试使用xml2jsparsing和查询xml中的元素。 我的xmlstring如下所示: var xml = "<config><test>Hello</test><data>SomeData</data></config>"; 我想要的是提取值,并将其分配给var extractedData 以下是我到目前为止: var parser = new xml2js.Parser(); parser.parseString(xml, function(err,result){ //Extract the value from the data element extractedData = result['data']; } 这不起作用。 有人可以指出,我可能能够从我的XML获取值? 谢谢 这似乎并没有工作。 有人可以告诉我这里可能是什么问题吗?

parsingXML Libxmljs(Node.js)

我试图用libxmljsparsing一个XMLstring(https://github.com/polotek/libxmljs) 。 我有一些问题,但。 我需要将逻辑应用于我正在parsing的内容,并根据定义的内容和不是什么内容进行返回。 正因为如此,我没有看到一个SAX风格的parsing器是一个有效的select。 我愿意看看其他的select,如果我能达到我所期待的。 能够select像DOMParser xmlDoc.getElementsById('firstName')[0].childNodes[0].nodeValue将是可怕的…

如何使用Nodeparsing来自URL的XML

我正在使用node-xml2js来parsingXML。 我无法从URLparsingXML。 我用这个答案作为模型。 但是当我使用下面的代码时,结果是null 。 任何想法,我在做什么错了? 更新:我已经更新了XML的url到实际使用的网站。 var eyes = require('eyes'); var https = require('https'); var fs = require('fs'); var xml2js = require('xml2js'); var parser = new xml2js.Parser(); parser.addListener('end', function(result) { eyes.inspect(result); console.log('Done.'); }); https.get('https://tsdrapi.uspto.gov/ts/cd/casestatus/sn78787878/info.xml', function(result) { result.on('data', function (data) { parser.parseString(data); }); }).on('error', function(e) { console.log('Got error: ' + e.message); });

xml2js:输出如何?

我试图使用node.js模块xml2js 我的代码很简单: function testparse(pathname, callback) { var parser = require('xml2js').Parser(), util = require('util'), fs = require('fs'), fs.readFile(pathname, function (err, data) { parser.parseString(data, function(err, result) { console.log('Complete result:'); console.log(util.inspect(result, {depth: null})); //Work console.log('Try to access element:'); console.log(result.smil.body); //Work console.log(result.smil.body.update); //Undefined }); }); } 我的xml文件是这样的: <?xml version="1.0"?> <smil> <head/> <body> <update /*some field*//> <stream name="name"/> <playlist /*some […]