如何在XML ENTITY

时间:2017-01-03 09:39:04

标签: xml newline xml-attribute

我正在尝试定义一个只包含换行符(
)的XML ENTITY。但不幸的是,这似乎并不奏效:

<?xml version="1.0"?>
<!DOCTYPE my_doc [
 <!ENTITY newline "&#10;">
]>

<root attr="hello &newline; world !!!" attr1="hello &#10; world !!!" ></root>

在上面的例子中,我希望属性attr和attr1具有相同的值。但是在&#39; attr&#39;实体&#39;换行符&#39;由解析器替换为空格:

attr => hello   world !!!
attr1 => hello
 world !!!

我正在使用python来解析它,但我不认为这是相关的:

import xml.etree.ElementTree as ET

data_as_string = """<?xml version="1.0"?>
<!DOCTYPE my_doc [
 <!ENTITY newline "&#10;">
]>

<root attr="hello &newline; world !!!" attr1="hello &#10; world !!!" ></root>
"""

root = ET.fromstring(data_as_string)

print root
print root.attrib

for k,v in root.attrib.items():
    print "%s => %s" % (k, v)

知道解决方案吗?

谢谢, 杰拉德

0 个答案:

没有答案