50,528
社区成员
发帖
与我相关
我的任务
分享
import java.io.InputStream;
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathConstants;
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
public class XPathTest {
public static void main(String[] args) throws XPathExpressionException {
String xpath = "//Root/IP";
InputSource is = readInputSource("test.xml");
XPathFactory factory = XPathFactory.newInstance();
XPath path = factory.newXPath();
NodeList nodes = (NodeList)path.evaluate(xpath, is, XPathConstants.NODESET);
for(int i = 0, k = nodes.getLength(); i < k; i++) {
System.out.println(nodes.item(i).getTextContent());
}
}
private static InputSource readInputSource(String resource) {
InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(resource);
return new InputSource(is);
}
}
// 添加
public void add(String add) throws IOException {
Element root = document.getRootElement();
Element e = root.addElement("IP");
e.setText(add);
writeFile(document);
}
// 写入文件
private void writeFile(Document doc) throws IOException {
FileWriter out = new FileWriter(path);
doc.write(out);
out.flush();
out.close();
}
package xml;
import java.io.File;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.QName;
import org.dom4j.io.SAXReader;
public class Dom4jTest {
private SAXReader reader;
private Document document;
private static String path = "c:/Dom4jSample1.xml";
public Dom4jTest(String str) throws DocumentException {
reader = new SAXReader();
document = reader.read(new File(str));
}
public static void main(String[] args) throws DocumentException {
// TODO Auto-generated method stub
Dom4jTest test = new Dom4jTest(path);
test.getInfo();
}
public void getInfo() {
Element root = document.getRootElement();
QName qname = new QName("IP");
List<Element> list = root.elements(qname);
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).getText());
}
}
}