我有这样的问题。我必须解析 xml 并使用 ascii 编码的字符获取值。我的 xml 的一部分
<response>
<object>
<id>793675</id>
<name>Žirmūnų</name>
...
得到一个值name
我使用函数
public String getValue(Element item, String str) {
NodeList n = item.getElementsByTagName(str);
return getElementValue(n.item(0));
}
public final String getElementValue( Node elem ) {
Node child;
if( elem != null){
if (elem.hasChildNodes()){
for( child = elem.getFirstChild(); child != null; child = child.getNextSibling() ){
if( child.getNodeType() == Node.TEXT_NODE || child.getNodeType() == Node.CDATA_SECTION_NODE || child.getNodeType() == Node.ELEMENT_NODE){
return child.getNodeValue();
}
}
}
}
return "";
}
这样的方式:
Document doc = XMLfromString(xml);
NodeList nodes = doc.getElementsByTagName("object");
Element e = (Element)nodes.item(0);
String restName = Html.fromHtml(getValue(e, "name")).toString();
但结果我只有值,它包含之前的字符,#
我只有&
在restName
ie 字符串被截断为#
为什么?xml中允许该字符#
,不是吗?如何获得完整的字符串值?