日期:2014-05-20  浏览次数:20779 次

解析一个xml文件的时候怎样自动打印其中的几行内容
public static void main(String[] args){
StringBuffer retStr = new StringBuffer("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
retStr.append("<recordInfo>\r")
.append("<fieldInfo>\r")
.append("<Name>a</Name>\r")
.append("<Name>creator</Name>\r")
.append("<Content>ccc</Content>\r")
.append("</fieldInfo>\r")
  .append("<fieldInfo><Name>故障原因分类</Name><Name>faultCauseType</Name><Content></Content></fieldInfo>\r")
.append("<fieldInfo><fieldChName>请选择处理部门/人</Name><Name>personOrgOne</Name><Content>200100098</Content></fieldInfo>\r")
.append("<fieldInfo>\r")
.append("<Name>slc</Name>\r")
.append("<Name>createtime</Name>\r")
.append("<Content>2012-01-10 16:49:32</Content>\r")
.append("</fieldInfo>\r")
  .append("</recordInfo>\r");


System.out.println(retStr.toString());
String xmlsing = retStr.toString();


try{

// 得到DOM解析器的工厂实例
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
 
// 从DOM工厂获得DOM解析器
DocumentBuilder builder=factory.newDocumentBuilder();
 
// 把要解析的XML文档转化为输入流,以便DOM解析器解析它
InputStream is = new ByteArrayInputStream(retStr.toString().getBytes("UTF-8"));
 
// 解析XML文档的输入流,得到一个Document
Document doc=builder.parse(is);
doc.normalize();
 
// 得到XML文档的根节点(books)
org.w3c.dom.Element root = doc.getDocumentElement();
 
//获得根节点的所有属性名和值
if(0 < root.getAttributes().getLength()){
for(int a = 0; a < root.getAttributes().getLength(); a++){
System.out.println("根节点属性信息"+root.getAttributes().item(a).getNodeName()
+ "---" + root.getAttributes().item(a).getNodeValue());
}
}else{
System.out.println("节点无属性值");
}
 
NodeList recordInfo = doc.getElementsByTagName("fieldInfo");
System.out.println("///////////////////////////////////////");
 
//获得fieldInfo节点属性值和名
for(int i=0;i<recordInfo.getLength();i++){
Element fieldInfo=(Element) recordInfo.item(i);
if(0 < fieldInfo.getAttributes().getLength()){
for(int a = 0; a < fieldInfo.getAttributes().getLength(); a++){
System.out.println("fieldInfo根节点属性信息.........."+fieldInfo.getAttributes().item(a).getNodeName()
+ "---" + fieldInfo.getAttributes().item(a).getNodeValue());
}
}else{
System.out.println("节点无属性");
}
 
System.out.println("=============================================");





在上面这段代码中打印了一遍整个xml文件,然后根据节点是否有属性做了相关的打印,现在我想再单独打印红色部分的xml内容,该怎么做?

------解决方案--------------------
必须让红色的部分在属性,或者标签或者别的什么地方能和其他部分区分开
------解决方案--------------------
嗯,楼上是对的

我是被楼主的标题吸引进来的,我还以为是java调用打印机呢