2017-06-06 61 views
-1

我有一些问题,文本和XML。我正在使用Python 3.6.0 :: Anaconda 4.3.1(x86_64)。 我有字符串x并将其转换为xml格式。文本和XML转换问题

但是输入和输出是不同的。我认为python转换为& lt;到我不想要的<。

这里的结果看起来像:

import xml.etree.cElementTree as ET 
x = '<SCRIPT>g(x) &lt;0</SCRIPT>' 
root = ET.fromstring(x) 
print('result : ',root.text[5]) 

,其结果是

result : < 

其示出了& LT;已经变了。我想它是

& 

谢谢!!!!

+0

请使用标记发布您的代码,而不是一个链接,并乐意帮助! – RandallShanePhD

回答

1

如果XML的值为<SCRIPT>g(x) <0</SCRIPT>它将导致解析错误。为了避免这样的错误,<符号替换为实体引用&lt;

类似实体引用包括:

&lt; < less than 
&gt; > greater than 
&amp; & ampersand 
&apos; ' apostrophe 
&quot; " quotation mark 

要返回的XML解析后的实体引用,我们可以使用字符串替换。

print('result : ',root.text.replace('<','&lt;')[5])

希望这会有所帮助。