先上依赖:
<!-- https://mvnrepository.com/artifact/dom4j/dom4j -->
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1-beta-6</version>
</dependency>
jaxen依赖必有
下图为需要读取的xml
<?xml version="1.0" encoding="utf-8"?>
<MIBs>
<items objectType="9">
<item id="590082" name="交换机内存占用率">
<BaseOID>1.3.6.1.2.1.25.2.3.1.6</BaseOID>
<Index>
<DependentOID name="存储设备类型" value="1.3.6.1.2.1.25.2.1.2">1.3.6.1.2.1.25.2.3.1.2</DependentOID>
</Index>
</item>
<item id="721153" name="交换机CPU占用率">
<BaseOID>1.3.6.1.2.1.25.3.3.1.2</BaseOID>
<Index>-1</Index>
</item>
</items>
</MIBs>
- 我们要获取到item的id 和name 和baseoid 及 index下的 dependentOID的value 及text
下图为java代码
package com.ireal.crpas.test.SnmpAbout.utils;
import com.ireal.crpas.test.SnmpAbout.model.MonitorBaseInfo;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class snmpXmlUtils {
public static List<MonitorBaseInfo> getlistfromxml(String path) throws Exception {
SAXReader reader = new SAXReader();
Document document = null;//读取xml文档
//new list 存放查出来的数据对象
ArrayList<MonitorBaseInfo> baselist = new ArrayList<>();
path="src/main/resources/"+path;