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内容,该怎么做?
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内容,该怎么做?
解决方案 »
- struts2 不能访问index.JSP
- jeecms 2.4版本中数据库mysql 转换成 sql server2005 问题
- Tomcat启动报错!如何解决?
- 给大家推荐一套非常实用的通用查询框架,有完整的Demo、使用说明、示例源码
- 关于UBB的问题??
- 急救!!!弄了整个下午,也没弄出来,高手帮我看看吧~~
- 请问怎么取得hibernate的配置文件中的信息?
- 用Weblogic连接Oracle数据库,用JBuilder打包出现很多异常,请帮助!
- 弱弱的问一声:DynaForm是只能在struts1.1下用的吗?
- 好神奇的错误
- 关于web.xml中filter设置的一个问题!
- struts1.2 问题
直接用另一个String 打就好了、、、、