「java去除xml」java去除xml报文节点之间的空格
今天给各位分享java去除xml的知识,其中也会对java去除xml报文节点之间的空格进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、在Java中怎么删除xml元素,和修改元素的属性和删除元素属性
- 2、java如何删除xml的内容。。。急急急急急。。。
- 3、java 去除xml字符串里有null的节点 求大神
- 4、java 如何去掉xml注释串
- 5、java删除xml文件节点??
- 6、带有无效字符的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报文节点之间的空格的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-13,除非注明,否则均为
原创文章,转载请注明出处。