jdom使用Xpath操作xml

本文介绍了一个使用Java SAXBuilder解析XML文件并获取特定元素属性的例子。通过XPath表达式定位到具体的<prop>标签,返回该元素的power属性值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public static Element getElement(String code, String scopeCode) throws Exception{
		SAXBuilder sb = new SAXBuilder(); // 新建立构造器
		 Document doc = sb.build((ColumnConfigUtil.class).getResource("/column.xml").getFile()); // 读入文件
		 Element root = doc.getRootElement();
		 String patch = "/Config/PitchFace/row[@code='"+code+"']/prop[@scopeCode='" + scopeCode + "']";
		 //System.out.println(patch);
		 Element findelement=(Element)XPath.selectSingleNode(root,patch);
		 return findelement;
	}

测试:
System.out.println(ColumnConfigUtil.getElement("01", "1").getAttributeValue("power"));


xml文件:

<Config>
   <PitchFace desc="abc" code="248">
      <row code="01" desc="a" cols="3" unit="m" mask="{1,2}">
         <prop scope="m" power="0.6" scopeCode="1"/>
         <prop scope="n" power="0.8" scopeCode="2"/>
         <prop scope="q" power="1.0" scopeCode="3"/>
      </row>
      <row code="02" desc="exl" cols="2" unit="m" mask="{1,2}">
         <prop scope="m" power="0.6" scopeCode="1"/>
         <prop scope="q" power="0.8" scopeCode="2"/>
      </row>
      <row code="03" desc="abbc" cols="2" unit="m" mask="{1,2}">
         <prop scope="m" power="0.6" scopeCode="1"/>
         <prop scope="q" power="1.0" scopeCode="2"/>
      </row>...................


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值