0
我正在研究nodejs-expressjs,並以原始XML作爲響應。我想轉換爲javascript數組或json數組,以便我可以檢索域名及其狀態。我想在HTML文件上顯示的名稱和狀態。 鳥槍是我的原始XML將原始XML解析爲JSON
<?xml version='1.0' encoding="UTF-8" standalone="no" ?>
<!DOCTYPE OPS_envelope SYSTEM "ops.dtd">
<OPS_envelope>
<header>
<version>0.9</version>
</header>
<body>
<data_block>
<dt_assoc>
<item key="response_code">200</item>
<item key="response_text">Command completed successfully</item>
<item key="attributes">
<dt_assoc>
<item key="lookup">
<dt_assoc>
<item key="items">
<dt_array>
<item key="0">
<dt_assoc>
<item key="status">taken</item>
<item key="domain">ashok.com</item>
</dt_assoc>
</item>
<item key="1">
<dt_assoc>
<item key="domain">ashok.net</item>
<item key="status">available</item>
</dt_assoc>
</item>
<item key="2">
<dt_assoc>
<item key="domain">ashok.org</item>
<item key="status">available</item>
</dt_assoc>
</item>
<item key="3">
<dt_assoc>
<item key="domain">ashok.biz</item>
<item key="status">available</item>
</dt_assoc>
</item>
<item key="4">
<dt_assoc>
<item key="status">available</item>
<item key="domain">ashok.me</item>
</dt_assoc>
</item>
<item key="5">
<dt_assoc>
<item key="domain">ashok.website</item>
<item key="status">available</item>
<item key="has_claim">0</item>
</dt_assoc>
</item>
</dt_array>
</item>
<item key="response_text">Command completed successfully.</item>
<item key="response_code">200</item>
<item key="is_success">1</item>
<item key="count">6</item>
</dt_assoc>
</item>
<item key="personal_names">
<dt_assoc>
<item key="response_code"></item>
</dt_assoc>
</item>
</dt_assoc>
</item>
<item key="request_response_time">8.066</item>
<item key="protocol">XCP</item>
<item key="is_search_completed">1</item>
<item key="is_success">1</item>
<item key="action">REPLY</item>
</dt_assoc>
</data_block>
</body>
</OPS_envelope>
我把它轉換成
jsonXml = JSON.stringify(result.OPS_envelope.body.data_block.dt_assoc.item); console.dir(jsonXml);
'["Command completed successfully",{"dt_assoc":{"item":[{"dt_assoc":{"item":[{"dt_array":{"item":[{"dt_assoc":{"item":["anjali.com","taken"]}},{"dt_assoc":{"item":["available","anjali.net"]}},{"dt_assoc":{"item":["anjali.org","available"]}},{"dt_assoc":{"item":["available","anjali.biz"]}},{"dt_assoc":{"item":["available","anjali.me"]}},{"dt_assoc":{"item":["anjali.website","available","0"]}}]}},"Command completed successfully.","200","1","6"]}},{"dt_assoc":{"item":""}}]}},"200","REPLY","1","1","XCP","8.067"]'
和當我使用
變種JSON = JSON.parse(jsonXml);
console.log(json);
[ 'Command completed successfully',
{ dt_assoc: { item: [Object] } },
'200',
'REPLY',
'1',
'1',
'XCP',
'8.067' ]
我要檢索的域名,他們採取/從JSON輸出,如JavaScript數組,但我無法做到這一點。
或者你可能知道任何其他方法來檢索域名和狀態。
請幫我一樣。
爲什麼首先將XML轉換爲JSON?當然,您可以使用XML庫直接提取值? – Joe
請告訴我用於此的庫名稱。 – web
http://stackoverflow.com/questions/14890655/the-best-node-module-for-xml-parsing –