问题标签 [xml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
7133 浏览

xml - 比较两个 XML 模式

是否有任何工具可以有效地比较两个 XML 模式?我见过一些通用的 XML 差异工具,但我想知道是否有任何关于模式的更多信息。

0 投票
2 回答
1949 浏览

ruby-on-rails - XML => 带有 Hpricot 和 Rails 的 HTML

我从未使用过 Web 服务和 Rails,显然这是我需要学习的东西。我选择使用 hpricot 因为它看起来很棒。无论如何,_why 已经很好地在hpricot 网站上提供了以下示例:

看起来简单、优雅、轻松。在 Ruby 中效果很好,但我的问题是:如何在 Rails 中分解它?

我尝试将这一切添加到单个控制器中,但想不出在视图中调用它的最佳方法。

因此,如果您从 Web API 解析 XML 文件并使用 Hpricot 将其打印为干净的 HTML,您将如何分解模型、视图和控制器上的活动,以及将什么放在哪里?

0 投票
3 回答
29006 浏览

php - 确定 DOMElement 的父节点

我正在将用于 YouTube 视频评论的 C# 代码翻译成 PHP。为了正确嵌套评论回复,我需要重新排列 XML 节点。在 PHP 中,我使用与 C# XmlDocument 密切对应的 DOMDocument 和 DOMXPath。我的翻译已经走得很远了,但现在我被困在获取 DOMElement 的父节点上。DOMElement 没有 parent_node() 属性,只有 DOMNode 提供该属性。

在确定评论是对基于链接元素中字符串“in-reply-to”的先前评论的回复后,我需要获取其父节点以便将其嵌套在它所回复的评论下方:

0 投票
8 回答
47549 浏览

xml - 使用 unix 终端解析 XML

有时我需要从 XML 文件中快速提取一些任意数据以放入 CSV 格式。在 Unix 终端中执行此操作的最佳实践是什么?我会喜欢一些代码示例,例如如何解决以下问题?

示例 XML 输入:

我想要的 CSV 输出:

0 投票
2 回答
25622 浏览

python - 如何在python中创建一个xml文档

这是我的示例代码:

当我运行上面的代码时,我得到了这个:

我想得到:

我只是猜测有一个 innerText 属性,它没有给出编译器错误,但似乎不起作用......我该如何创建一个文本节点?

0 投票
3 回答
11699 浏览

xml - 如何根据内容选择 XML 节点?

如何使用 XPath 根据其内容选择 XML 节点?

例如,如果我有以下 xml,并且我想选择包含 Ritchie 的 <author>-node 来获取作者的全名:

0 投票
3 回答
368 浏览

xml - DOM splitText 和 normalize 是否应该组合以提供身份?

昨天我卷入了关于 DOM 实现怪癖的讨论,引发了一个关于 Text.splitText 和 Element.normalise 行为以及它们应该如何表现的有趣问题。

DOM Level 1 Core中,Text.splitText 被定义为...

在指定的偏移量处将此 Text 节点拆分为两个 Text 节点,将它们作为兄弟节点保留在树中。然后,该节点仅包含直到偏移点的所有内容。并且作为该节点的下一个兄弟插入的新文本节点包含偏移点处和之后的所有内容。

标准化是...

将所有 Text 节点放在此 Element 下的子树的全部深度中,形成“正常”形式,其中只有标记(例如,标签、注释、处理指令、CDATA 部分和实体引用)分隔 Text 节点,即有没有相邻的文本节点。这可用于确保文档的 DOM 视图与保存和重新加载时相同,并且在要使用依赖于特定文档树结构的操作(例如 XPointer 查找)时很有用。

因此,如果我采用 textNode 中引用的包含“Hello World”的文本节点,然后执行

textNode 现在有内容“Hello”,以及一个包含“World”的新兄弟

如果我那时

什么是文本节点?规范没有明确说明 textNode 必须仍然是其先前父节点的子节点,只是更新为包含所有相邻的文本节点(然后将其删除)。删除所有相邻的文本节点似乎是一种一致的行为,然后用值的连接重新创建一个新节点,让 textNode 指向不再是树的一部分的东西。或者,我们可以以与 splitText 相同的方式更新 textNode,因此它保留它的树位置,并获取一个新值。

行为的选择确实完全不同,我找不到关于哪个是正确的澄清,或者这只是规范中的疏忽(似乎在第 2 级或第 3 级中没有澄清)。那里的任何 DOM/XML 专家都可以提供一些启示吗?

0 投票
1 回答
2665 浏览

xml - 使用 Perl 解析 XML 元素和属性

所以我写了一些 perl 来解析从Amazon Web Services返回的结果。我正在使用该XML::Simple软件包。在大多数情况下,当我拉出一个元素时,一切正常。然而,我遇到的问题是当一个元素也有一个属性时。然后我得到一个错误,该项目是一个哈希。

如果我想获得 DVD 的运行时间,我会这样做:我刚刚创建了一个项目来保存这个一次性项目的特定信息。

有没有一种方法可以从一个项目中同时访问元素和属性?

0 投票
9 回答
1879 浏览

java - 您将如何使用 Java 来处理各种 XML 文档?

我正在寻找使用 Java 应用程序解析各种 XML 文档的最佳方法。我目前正在使用 SAX 和自定义内容处理程序执行此操作,并且效果很好 - 快速且稳定。

我决定探索具有相同程序的选项,该程序当前接收单一格式的 XML 文档,接收两种额外的 XML 文档格式,以及各种 XML 元素更改。我希望根据文档中的第一个“startElement”将 ContentHandler 换成适当的内容处理程序......但是,呃,呃,设置了 ContentHandler,然后解析了文档!

所以,我似乎无法以我最初认为的方式做到这一点。

话虽这么说,我认为这完全错误吗?用相同的 XML 处理代码解析多个离散的 XML 文档的最佳方法是什么? 我之前试图在更笼统的帖子中提问……但是,我认为我太含糊了。出于速度和效率的目的,我从未真正关注过 DOM,因为这些 XML 文档相当大,系统每隔几分钟就会收到大约 1200 个。这只是一种信息发送方式

使这个问题太长并增加我的困惑;以下是一些我想要一个 SAX、StAX 或 ?? 的各种 XML 文档的模型。解析器干净地处理。

产品.xml:

商店.xml:

管理器.xml:

0 投票
5 回答
1737 浏览

xml - 轻量级富文本 XML 格式?

我正在编写一个基本的文字处理应用程序,并试图解决一种原生的“内部”格式,我的代码解析这种格式以便呈现到屏幕上。我希望这是 XML,以便将来我可以编写 XSLT 将其转换为 ODF 或 XHTML 或其他任何内容。

在搜索要使用的现有标准时,唯一看起来很有希望的是 ODF。但这对于我需要的东西来说似乎是巨大的矫枉过正。我需要的只是段落标签、字体选择、字体大小和装饰……差不多就是这样。即使是最小的 ODF 渲染器也需要很长时间才能实现,而且我不确定这是否值得。

现在我正在考虑制作自己的 XML 格式,但这并不是一个很好的做法。最好使用标准,特别是从那时起,我可能会找到我将来可能需要的 XSLT 已经编写好了。

还是我应该硬着头皮实施ODF?

编辑:关于答案

我以前知道 XSL-FO,但由于规范的重要性并没有真正考虑它。但你是对的,一个子集会给我工作所需的一切和​​成长的空间。非常感谢提醒。

另外,通过包含 FOP 或 RenderX 等渲染库,我可以免费生成 PDF。不错...