javascript - Node.js 中的 XML(使用 Javascript)

标签 javascript xml node.js

我已经将模拟的 XML 数据存储在硬盘上(称为 simmedData.xml)。我还获得了通过 Web 端点 (http://localhost:8079/realData) 出售的“真实”数据(“真实”数据是动态的)。

XML 文档的格式完全相同,但我想将它们“合并”到 http://localhost:8080/mergedData 可用的一个端点。

我想使用 node.js 托管 mergedData 端点——在请求 mergedData 时,是否有简单的方法将这些 xml 文档合并在一起?

例如:

simmedData.xml

<site:Tracks xmlns:site='http://mysite/site'>
  <site:track id='1' latitude='37.82091918923291' longitude='128.87375778822812' altitude='9753.6005859375' bearing='10.542624087704585' speedInKnots='454.6067199707031' />
  <site:track id='2' latitude='37.45048387959727' longitude='129.49111126654887' altitude='9144.0' bearing='190.90400586790983' speedInKnots='436.89837646484375' />
</site:Tracks>

http://localhost:8079/realData

<site:Tracks xmlns:site='http://mysite/site'>
  <site:track id='1001' latitude='39.82093291' longitude='128.87375722812' altitude='9753.60375' bearing='10.542704585' speedInKnots='454.6707031' />
  <site:track id='1002' latitude='39.387959727' longitude='129.4126654887' altitude='9144.0' bearing='90.90790983' speedInKnots='436.8984375' />
  <site:track id='1003' latitude='40.82093291' longitude='138.87375722812' altitude='9753.5' bearing='10.542704585' speedInKnots='454.6707031' />
  <site:track id='1004' latitude='40.387959727' longitude='139.4126654887' altitude='9124.0' bearing='90.90790983' speedInKnots='436.8984375' />
</site:Tracks>

http://localhost:8080/mergedData

<site:Tracks xmlns:site='http://mysite/site'>
  <site:track id='1' latitude='37.82091918923291' longitude='128.87375778822812' altitude='9753.6005859375' bearing='10.542624087704585' speedInKnots='454.6067199707031' />
  <site:track id='2' latitude='37.45048387959727' longitude='129.49111126654887' altitude='9144.0' bearing='190.90400586790983' speedInKnots='436.89837646484375' />
  <site:track id='1001' latitude='39.82093291' longitude='128.87375722812' altitude='9753.60375' bearing='10.542704585' speedInKnots='454.6707031' />
  <site:track id='1002' latitude='39.387959727' longitude='129.4126654887' altitude='9144.0' bearing='90.90790983' speedInKnots='436.8984375' />
  <site:track id='1003' latitude='40.82093291' longitude='138.87375722812' altitude='9753.5' bearing='10.542704585' speedInKnots='454.6707031' />
  <site:track id='1004' latitude='40.387959727' longitude='139.4126654887' altitude='9124.0' bearing='90.90790983' speedInKnots='436.8984375' />
</site:Tracks>

最佳答案

如果您想进行任何类型的智能“XML 感知”合并,那么您可能会考虑使用 XML 解析器来执行 DOM 操作,或者使用 XSLT 转换器来运行将两者合并的样式表。我确定有用于 Node 的 libxml/libxslt 包装器:

我最近在 SO 上回答了一个关于 XML merge with XSLT 的问题但是如果你只是做一个简单的“追加”,那么它就不那么棘手了。

关于javascript - Node.js 中的 XML(使用 Javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10625721/

相关文章:

javascript - 我如何在 MongoDB 中伪造一个多项目 $pop?

javascript - 如何防止由 onAuthStateChanged Firebase Auth 引起的无限循环

PHP 使用 SimpleXML 处理命名空间

python - 继承hr_timesheet_sheet.sheet,错误: module. __init__()最多接受2个参数

node.js - 尝试通过 npm 连接到 Azure DevOps Artifacts 源时“无法进行身份验证”;我收到 E401 错误

node.js - kafka-node 消费者收到 offsetOutOfRange 错误

c# - 如何正确地将数据URL格式的文件保存到IsolatedStorage

javascript - Polymer:以两种方式绑定(bind)到 Dom-Repeat 模板内的子元素

java - 了解简单 XML 解析器 - 新文件输出 - Java

git - 如何将nodejs缩回特定版本的V8?