2012年8月15日星期三

在XML中,提取到一个字符串的特定标签的方式(使用JDOM)




最近广泛使用,而使用XML Web服务的越来越频繁。

话又说回来,自然内置XML解析器Java和罚款。

对XML的子类javax.xml包支持Java的努力这非常yigetjyo的。

然而,DOM / SAX解析数据处理使用没有问题的完成,但
子元素,包括特定的标记,得到字符串的部分不支持。

这是能够使用它立即yireolttae JDOM。

XML测试如下:

http://schemas.xmlsoap.org/soap/envelope/ \>




上面的XML标签,从任务获取的数据将成为。

包括工作秩序
1)Java解析使用,以创建一个文档。(org.w3c.dom.Document的)
2)文档对象提取所需的标签(Doc.getElementsByTagName(标签名称),使用 - >,该函数返回一个NodeList是一个捆绑。
3)在该项目的NodeList对象(索引)你想通过一个函数(在此元素是一个org.w3c.dom.Element获取元。)
4的)org.w3c.dom.Element对象(ELE)的JDOM
  DOMBuilder B =新DOMBuilder();
  org.jdom.Element元= b.build(ELE);
  通过构建功能转换org.jdom.Element org.w3c.dom.Element对象。
5)org.jdom.output.XMLOutputter用于准备输出。
XMLOutputter的出新的XMLOutputter();
6)输出功能,是你想通过输出流输出。
   out.output(元素的System.out);
    - >在这里,所以使用的输出流,ByteArrayOutputStream来缓冲数据,并把它,你可以使用一个猜测。然而,关在分配到System.out输出到标准输出表中披露的。

################################################## #######################

import javax.xml.parsers.*;
import java.io.*;
import org.jdom.input.DOMBuilder;
import org.jdom.output.XMLOutputter;
import org.w3c.dom.*;
public class XmlTest {
 public static void main(String[] args) throws Exception {
  String data = "";
  data += "http://schemas.xmlsoap.org/soap/envelope/\">";
  data += "";
  data += "";
  data += "
";
  data += "
";
  byte[] buffer = data.getBytes();
  ByteArrayInputStream bai = new ByteArrayInputStream(buffer);
  
  DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
  DocumentBuilder builder = factory.newDocumentBuilder();
  
  Document doc = builder.parse(bai);
  
  NodeList list = doc.getElementsByTagName("data");
  
  System.out.println(list.getLength());
  Element ele = null;
  if(list.getLength()>0) {
   ele = (Element)list.item(0);
   System.out.println("list:" + ele);
  }
  
  DOMBuilder b = new DOMBuilder();
  org.jdom.Element element = b.build(ele);
  System.out.println("ret:" + element.getText());
  XMLOutputter out = new XMLOutputter();
  out.output(element, System.out);
 }
}


################################################## ##################
输出
列表:[数据:空]
RET:

################################################## ##################
结论:如果你正在里面工作的情况下,你需要使用的JDOM源的字符串可以完成上述任务导入到数据使用XML的XML解析器。

JDOM网站:http://www.jdom.org/~~V

没有评论:

发表评论