0
列表從下面XML
需要使用頂點代碼XML DOM解析到頂點
<users>
<user>
<prop key="FirstName" value="Ramesh"/>
<prop key="lastName" value="Ramesh"/>
<prop key="DOB" value="29/03/1988"/>
<prop key="Mobile" value="12345678"/>
<prop key="Country" value="India"/>
</user>
<user>
<prop key="FirstName" value="Anil"/>
<prop key="lastName" value="Ramesh"/>
<prop key="DOB" value="29/03/1986"/>
<prop key="Mobile" value="12345678"/>
<prop key="Country" value="India"/>
</user>
</users>
使用下面的代碼嘗試基於各自的鍵來獲取值,並添加將其轉換爲List<User>
,但能不能找到
private String walkThrough(DOM.XMLNode node) {
String result = '\n';
if (node.getNodeType() == DOM.XMLNodeType.COMMENT) {
return 'Comment (' + node.getText() + ')';
}
if (node.getNodeType() == DOM.XMLNodeType.TEXT) {
return 'Text (' + node.getText() + ')';
}
if (node.getNodeType() == DOM.XMLNodeType.ELEMENT) {
result += 'Element: ' + node.getName();
if (node.getText().trim() != '') {
result += ', text=' + node.getText().trim();
}
if (node.getAttributeCount() > 0) {
for (Integer i = 0; i< node.getAttributeCount(); i++) {
result += ', attribute #' + i + ':' + node.getAttributeKeyAt(i) + '=' + node.getAttributeValue(node.getAttributeKeyAt(i), node.getAttributeKeyNsAt(i));
}
}
for (Dom.XMLNode child: node.getChildElements()) {
result += walkThrough(child);
}
return result;
}
return ''; //should never reach here
}
private String parse(String toParse) {
DOM.Document doc = new DOM.Document();
try {
doc.load(toParse);
DOM.XMLNode root = doc.getRootElement();
return walkThrough(root);
} catch (System.XMLException e) { // invalid XML
return e.getMessage();
}
}
有一些可以幫助我如何獲得基於上述XML使用DOM文檔的Key的價值?