「java去除xml」java去除xml报文节点之间的空格

博主:adminadmin 2022-12-13 14:12:07 70

今天给各位分享java去除xml的知识,其中也会对java去除xml报文节点之间的空格进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

在Java中怎么删除xml元素,和修改元素的属性和删除元素属性

和新增XML,没多大分别。。。。。。。删除时,拷贝,忽略不要的

~

~

~

java如何删除xml的内容。。。急急急急急。。。

你先给ts 一个id,这样下面我给你写了注释,这一定要给分了啊,自己打的

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

//创建排版机器

DocumentBuilder builder = factory.newDocumentBuilder();

//用已有的xml文件在内存中构建Document对象

Document d = builder.parse("f:/文件名.xml");

NodeList nl = d.getElementsByTagName("ts");

for (int i = 0; i nl.getLength(); i++) {

Element e = (Element)nl.item(i);

//System.out.println(e.getAttribute("id"));

if(e.getAttribute("id").equals("2")) {

Element name = (Element)e.getElementsByTagName("name").item(0);

//System.out.println(name.getNodeName());

root.removeChild(e);//删除子节点

break;

}

}

//创建印刷工厂

TransformerFactory tf = TransformerFactory.newInstance();

Transformer tff = tf.newTransformer();//创建印刷机器

//dom数据源头,印刷的样板

DOMSource ds = new DOMSource(d);

StreamResult sr = new StreamResult("f:/文件名.xml");

tff.transform(ds, sr);//开始印刷

java 去除xml字符串里有null的节点 求大神

这个简单,循环一下节点,如果为空就删除

import java.io.ByteArrayInputStream;

import java.io.ByteArrayOutputStream;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.transform.Transformer;

import javax.xml.transform.TransformerFactory;

import javax.xml.transform.dom.DOMSource;

import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;

import org.w3c.dom.Element;

import org.w3c.dom.Node;

import org.w3c.dom.NodeList;

public class MyTest {

 public static void main(String[] args) {

  try {

   removeNullValueNode();

  } catch (Exception e) {

   // TODO 自动生成された catch ブロック

   e.printStackTrace();

  }

 }

 public static void removeNullValueNode() throws Exception {

  // 解析xml文件

  String xmlContent = "?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?Aidnull/idname李三/name/A";

  System.out.println("原始内容:\r\n" + xmlContent);

  DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

  DocumentBuilder db = factory.newDocumentBuilder();

  // 根据xml内容构建document:当然这可以直接加载文件流

  Document doc = db.parse(new ByteArrayInputStream(xmlContent.getBytes()));

  // A节点

  Element elmtInfo = doc.getDocumentElement();

  // A节点下的子节点

  NodeList nodes = elmtInfo.getChildNodes();

  for (int i = 0; i  nodes.getLength(); i++) {

   Node result = nodes.item(i);

   if (result.getNodeType() != Node.ELEMENT_NODE) {

    // 如果不是元素节点跳过

    continue;

   }

   if (null == result.getTextContent()

     || "null".equals(result.getTextContent())) {

    // 删除本节点

    elmtInfo.removeChild(result);

   }

  }

  // XML转字符串

  TransformerFactory tf = TransformerFactory.newInstance();

  Transformer t = tf.newTransformer();

  t.setOutputProperty("encoding", "utf-8");

  ByteArrayOutputStream bos = new ByteArrayOutputStream();

  t.transform(new DOMSource(doc), new StreamResult(bos));

  String xmlStr = bos.toString("utf-8");

  // 输出删除节点后的xml类容

  System.out.println("删除空节点后的内容:\r\n" + xmlStr);

 }

}

java 如何去掉xml注释串

你好,你可以使用xmlFileContent.replaceAll("(?s)!--.*?--","");

这样就可以去掉所有的注释了

java删除xml文件节点??

java删除xml文件节点,主要方式是先解析整个xml文件,然后根据节点的编号,进行删除,代码如下:

package test; 

import java.io.IOException; 

import javax.xml.parsers.DocumentBuilder; 

import javax.xml.parsers.DocumentBuilderFactory; 

import javax.xml.parsers.ParserConfigurationException; 

import javax.xml.transform.Transformer; 

import javax.xml.transform.TransformerConfigurationException; 

import javax.xml.transform.TransformerException; 

import javax.xml.transform.TransformerFactory; 

import javax.xml.transform.dom.DOMSource; 

import javax.xml.transform.stream.StreamResult; 

import org.w3c.dom.Document; 

import org.w3c.dom.Element; 

import org.w3c.dom.NodeList; 

import org.w3c.dom.Text; 

import org.xml.sax.SAXException; 

public class XmlOprate { 

Document doc; 

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 

DocumentBuilder builder; 

NodeList imags; 

String path; 

public NodeList getImags() { 

return imags; 

public void setImags(NodeList imags) { 

this.imags = imags; 

/** 

* 构造方法 

* @param path:xml文件的路径 

* @param nodes:要解析的xml节点名称 

*/ 

public XmlOprate(String path) { 

super(); 

this.path = path; 

System.out.println(System.getProperty("user.dir")); 

/** 

* 解析XML 

* @param path 

*/ 

public void readXml(){ 

try { 

builder = factory.newDocumentBuilder(); 

Document doc=builder.parse(path); 

doc.normalize(); 

NodeList imags =doc.getElementsByTagName("imags"); 

this.setImags(imags); 

for (int i=0;iimags.getLength();i++){ 

Element link=(Element) imags.item(i); 

System.out.print("title: "); 

System.out.println(link.getElementsByTagName("title").item(0).getFirstChild().getNodeValue()); 

System.out.print("URL: "); 

System.out.println(link.getElementsByTagName("url").item(0).getFirstChild().getNodeValue()); 

System.out.print("imgsrc: "); 

System.out.println(link.getElementsByTagName("imgsrc").item(0).getFirstChild().getNodeValue()); 

System.out.println(); 

}catch (ParserConfigurationException e) { 

e.printStackTrace(); 

} catch (SAXException e) { 

e.printStackTrace(); 

} catch (IOException e) { 

e.printStackTrace(); 

/** 

* delete xml code //删除某个节点

* @param path 

*/ 

public void delXmlCode(){ 

try { 

builder = factory.newDocumentBuilder(); //拿到树节点

doc=builder.parse(path); 

doc.normalize(); 

NodeList imags =doc.getElementsByTagName("imags"); //拿到某个节点的ID,接着进行删除

Element elink=(Element) imags.item(0); 

elink.removeChild(elink.getElementsByTagName("imgsrc").item(0)); 

elink.removeChild(elink.getElementsByTagName("title").item(0)); 

elink.removeChild(elink.getElementsByTagName("url").item(0)); 

doc.getFirstChild().removeChild(elink); 

TransformerFactory tFactory =TransformerFactory.newInstance(); 

Transformer transformer = tFactory.newTransformer(); 

DOMSource source = new DOMSource(doc); 

StreamResult result = new StreamResult(new java.io.File(path)); 

transformer.transform(source, result); 

} catch (ParserConfigurationException e) { 

e.printStackTrace(); 

} catch (SAXException e) { 

e.printStackTrace(); 

} catch (IOException e) { 

e.printStackTrace(); 

} catch (TransformerConfigurationException e) { 

e.printStackTrace(); 

} catch (TransformerException e) { 

e.printStackTrace(); 

}

带有无效字符的java xml如何删除

不确定有无,但你可以方便的自己写一个这样的方法

首先把字符转换成int类型,这个int就表示那个字符的unicode值

然后把这个int转成String类型

最后在这个String的前面加上就可以了

关于java去除xml和java去除xml报文节点之间的空格的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-13,除非注明,否则均为首码项目网原创文章,转载请注明出处。