dom4j 问题 请各位大神指导一下!

h641695 2011-08-11 09:18:25
public class XMLTest {

/**
* @param args
* @throws DocumentException
*/
public static void main(String[] args) throws DocumentException {
String str = "<?xml version='1.0' encoding='GB2312' ?>" +
"<GameRegion>" +
"<GameRegionInfo CategoryCode='AASZQFYQKV' CategoryName='云游卡(墨香/傲视天地/凡人修真/天地英雄/斗法修仙/南帝北丐)'>" +
"<GameRegionItem RegionID='5250' RegionName='云起点' RegionValue='0' List_Order='0' />" +
"<GameRegionItem RegionID='5414' RegionName='天地英雄' RegionValue='120' List_Order='0' />" +
"<GameRegionItem RegionID='5711' RegionName='梦幻修仙' RegionValue='122' List_Order='0' />" +
"<GameRegionItem RegionID='5252' RegionName='凡人修真' RegionValue='109' List_Order='0' />" +
"<GameRegionItem RegionID='5712' RegionName='乱世群雄' RegionValue='123' List_Order='0' />" +
"<GameRegionItem RegionID='5549' RegionName='斗法修仙' RegionValue='129' List_Order='0' />" +
"<GameRegionItem RegionID='5550' RegionName='南帝北丐' RegionValue='136' List_Order='0' />" +
"<GameRegionItem RegionID='5256' RegionName='傲视天地' RegionValue='99' List_Order='0' />" +
"<GameRegionItem RegionID='5597' RegionName='墨香Online' RegionValue='49' List_Order='0' />" +
"</GameRegionInfo>" +
"</GameRegion>";
// TODO Auto-generated method stub
Document document = DocumentHelper.parseText(str);

Element users=document.getRootElement();

for(Iterator iter= users.elementIterator(); iter.hasNext(); ){

Element element = (Element)iter.next();

Attribute CategoryCode = element.attribute("CategoryCode");

Attribute CategoryName = element.attribute("CategoryName");

Attribute RegionID = element.attribute("RegionID");

Attribute RegionName = element.attribute("RegionName");

Attribute RegionValue = element.attribute("RegionValue");

System.out.println(CategoryCode.getText());

System.out.println(CategoryName.getText());

System.out.println(RegionID.getText());

System.out.println(RegionName.getText());

System.out.println(RegionValue.getText());

}
}

}


请问一下,如何获取:GameRegionItem这个子节点里面的的属性值呢?,如果GameRegionItem里面还有子节点呢?
...全文
64 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
luohuijun619 2011-08-11
  • 打赏
  • 举报
回复
就是用elementIterator()啊
yang4187668 2011-08-11
  • 打赏
  • 举报
回复
不知道能不能帮到你,就当一个思路吧。

<body>
<table>
<tr id="tr1">
<td id="td1" name="td1">
<p id="p1">aaaaaa</p>
dddd
<a href="#" style="color:blue" id="a1">1111111111111</a>
</td>
</tr>
<tr>
<td id="td2">
<a href="#" style="color:red" id="a2">22222222222</a>
</td>
</tr>
<tr>
<td>
<input type="button" value="添加节点" onclick="createChildNode('td1')" />
<input type="button" value="删除节点" onclick="removeChildNode('td1')" />
<input type="button" value="innerHTML" onclick="a('td1')" />
</td>
</tr>
</table>
</body>
</html>

<script language="JavaScript" type="text/javascript">
function removeChildNode(id)
{
//alert("aaaaaaaaaa");
var test = document.getElementById(id);
var children = test.childNodes;
//alert(children.length);
//alert(children[children.length-1]);
if(children[children.length-1]!=undefined&&children[children.length-1]!=null){
test.removeChild(children[children.length-1]);
}else{
alert("已到根节点");
}
//for(i=0;i<children.length;i++){
//alert(children[i].id);
//test.removeChild(children[i]);
//}

//xmlDoc.documentElement.removeChild(y);

//var i= document.getElementById(xmlDoc).getxmlDoc.documentElement.childNodes;
//alert(i);
//alert(y);
}
function createChildNode(id){
var test = document.getElementById(id);
var para = document.createElement("a");
var att1 = document.createAttribute("href");
var att2 = document.createAttribute("style");
att1.nodeValue="#";
name1.nodeValue="color:red";
para.setAttributeNode(att1);
para.setAttributeNode(att2);
//para.setAttributeNode(newatt);
//para.setAttribute("href","#");
var text = document.createTextNode("要添加的文本 ");
//para.appendChild(text);
test.appendChild(text);

}

function a(id){
document.getElementById(id).innerHTML = "<a href='#'>12</a>";

}

</script>


http://www.w3school.com.cn/xmldom/dom_nodes_create.asp
aazham 2011-08-11
  • 打赏
  • 举报
回复
节点可以一层一层遍历的 熟悉下document模型吧
muboy1999 2011-08-11
  • 打赏
  • 举报
回复
节点下是否有子节点是可以遍历出来的。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧