我想知道在使用DOM解析器时是否有一种简单的方法可以将XML元素更改为字符串。
我在这里有一些代码:
XPathExpression NtryRefexpr = xpath.compile("//Ntfctn/Ntry/NtryRef");
Object NtryRef = NtryRefexpr.evaluate(doc, XPathConstants.NODESET);
NodeList nodesNtryRef = (NodeList) NtryRef;
for(int i = 0; i < nodesNtryRef.getLength(); i++){
Element NtryRefel = (Element) nodesNtryRef.item(i);
String element = NtryRefel.toString();
NtryRefAL.add(element);
}
你可以收集我试图在XML元素上使用.toString()。显然这没有用,因为当我回去尝试打印数组中的项时,一切都为空。此外,当我尝试只打印字符串“element”时,它也显示为null。
将“element”转换为String的正确方法是什么? XML中元素的实际值只是一堆数字。
答案 0 :(得分:0)
我终于通过研究和其他人的帮助弄明白了这一点。
下面是我的代码,显示我如何浏览节点,选择我想要的节点并将属性保存到String。请注意,该属性将包含许多额外信息,包括标记名称
示例:
<?xml version="1.0" encoding="UTF-8"?><NachaTransCd>27</NachaTransCd>
因此必须使用子字符串和length方法删除它。
这是我的代码:
XPathExpression CardAcctTpexpr = xpath.compile("//Ntfctn/Ntry/NtryDtls/TxDtls/SplmtryData/Envlp/Cnts/CardAcctTp");
Object CardAcctTp = CardAcctTpexpr.evaluate(doc, XPathConstants.NODESET);
NodeList nodesCardAcctTp = (NodeList) CardAcctTp;
for(int i = 0; i < nodesCardAcctTp.getLength(); i++){
Element CardAcctTpel = (Element) nodesCardAcctTp.item(i);
CardAcctTpS = Utilities.xmlToString(CardAcctTpel);
int length = CardAcctTpS.length();
CardAcctTpS = CardAcctTpS.substring(50,length);
length = CardAcctTpS.length();
CardAcctTpS = CardAcctTpS.substring(0,length-13);
CardAcctTpAL.add(CardAcctTpS);
}