一个空的xml元素是如何表示的?

问题描述 投票:0回答:1

假设我有以下 xml:

<Person>
    <Name>Tom</Name>
    <Age/>
</Person>

Age
值的正确表示是空字符串,
''
或空值,例如
NULL
None
nil
等。例如在python中做它给出
None
,但这是标准的一部分还是序列化决定?

>>> repr(etree.fromstring('<Person><Name>Tom</Name><Age/></Person>')
        .xpath('/Person/Age')
        [0].text)
# 'None'
xml xpath xquery
1个回答
0
投票

在 XML 级别,空元素没有元素或文本节点子节点。

在XPath 1.0中,

/Person/Age/node()
返回一个空的节点列表;在 XPath 2.0+ 中,并且为空 sequence.

Python 示例中的

None
是 Python 的产物,而不是 XML 或 XPath。
/Person/Age
XPath 表达式返回一个包含
Age
元素的 Python 数组。在这种情况下,是 libxml Python 库决定返回
None
.text
属性。

© www.soinside.com 2019 - 2024. All rights reserved.