我正在努力理解这种 xml 之类的数据

Posted

技术标签:

【中文标题】我正在努力理解这种 xml 之类的数据【英文标题】:I am struggling to make sense of this xml like data 【发布时间】:2020-06-12 00:51:15 【问题描述】:

我的任务是重写 Flash 网络应用程序的 ui 元素。数据以两种形式从服务器 cgi 脚本返回。 1. 我提出一个请求并取回传统的 XML。我可以使用 XML 解析包将其转换为 JSON。 2. 我得到一个 xml'ish 返回,其中数据是内联的,有点像内联 html

<bannergroups>
  <bannergroup data="" label=""/>
  <bannergroup data="85" label="Closed Stores"/>
  <bannergroup data="78" label="Daly City Lucky"/>
  <bannergroup data="81" label="FM District 10"/>
</bannergroups>

我可以用 javascript 以某种方式解析这些数据吗?我遇到了其他错误,但如果我只需要重写后端,我不想深入研究它。任何人都可以指导我了解有关此类 XML 的更多信息,这也会有所帮助。

【问题讨论】:

我应该补充一点,我在前端使用 Vue.js。我确实得到了上面的响应,但是在我的 vue 数据属性中,它是未定义的。大概是因为我使用的 xml 解析器不知道这个响应是什么。 【参考方案1】:

这是一个非常普通且格式良好的 XML,你到底有什么问题?

我想您之前可能没有遇到过使用属性的 XML?他们没有什么不寻常的地方。

bannergroups 是具有子元素的元素 bannergroup 是一个具有属性的空元素 datalabel 是属性

所有标准的 XML 工具,例如 XML 解析器、XSLT 和 XPath,都可以毫无问题地处理这个问题。

【讨论】:

感谢您的回复。我没有过多地使用 XML,所以它对我来说似乎太不同了。不过很高兴知道。 所以我正在战斗的似乎是来自我的后端或我正在使用的 xml 解析器的某种错误。我正在使用 xml2js,我从“[实体名称中的本机错误无效字符\nLine: 22\nColumn: 41\nChar: ]”得到一个错误,这是响应的第 22 行。 我不太确定,但至少我们排除了数据格式是罪魁祸首。 XML 中的 & 符号必须始终写成 &amp;amp;,所以它应该是 Plus &amp;amp; Lucky。似乎生成这个的人也不太了解 XML。

以上是关于我正在努力理解这种 xml 之类的数据的主要内容,如果未能解决你的问题,请参考以下文章

努力理解 Xamarin 异常处理

如何从XML节点获取数据?

努力理解这段代码如何输出欧几里得算法

努力从 XML 数据中提取值 (T-SQL)

努力理解 CloudKit 中的 CKSubscriptions

XSLT:复杂分组的问题