我正在使用xsd架构文件;在那里我指定了一个有序列表。 解析类型的XML节点时......
< myOrderedList> “element_1”“element_2”“element_3”< / myOrderedList>
(这是有效的XML语法)
...我知道的所有XML解析器都将其解析为单个节点元素。 有没有办法让XML解析器为我解析这个列表(将它作为列表或数组或其他方式返回)或者我是否总是自己解析它?
答案 0 :(得分:0)
为什么不利用XML构建数据的能力,并将每个元素放在自己的XML元素中? e.g。
<myOrderedList>
<element>1</element>
<element>2</element>
<element>3</element>
</myOrderedList>
等。否则,您必须在XML解析器为您执行的解析工作之上实现解析(尽管以简单的方式)?
如果您执行上述操作,解析器将返回有序列表而无需任何进一步的工作,和/或您可以使用标准XML工具(如XSLT / XQuery等)更轻松地处理它。
答案 1 :(得分:0)
列表类型中的值始终用空格分隔,因此您可以轻松地通过标记生成器传递它以获取值列表。 有一些技术,如XSLT 2.0模式识别,将看到这样一个元素的值列表。
使用其他答案中提出的元素也是一种解决方案,可以简化您的处理。在XML中,子节点是有序的,因此您不必担心。可能的代表是:
<myOrderedList>
<value>element_1</value>
<value>element_2</value>
<value>element_3</value>
</myOrderedList>