java xml字符串提取元素,如何从Java中将子元素从XML提取到字符串?
你是对的,使用标准的XML API,这不是一个好方法 – 这是一个例子(可能是错误的;它运行,但我很久以前写过它).
import javax.xml.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
import org.w3c.dom.*;
import java.io.*;
public class Proc
{
public static void main(String[] args) throws Exception
{
//Parse the input document
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(new File("in.xml"));
//Set up the transformer to write the output string
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
transformer.setOutputProperty("indent", "yes");
StringWriter sw = new StringWriter();
StreamResult result = new StreamResult(sw);
//Find the first child node - this could be done with xpath as well
NodeList nl = doc.getDocumentElement().getChildNodes();
DOMSource source = null;
for(int x = 0;x < nl.getLength();x++)
{
Node e = nl.item(x);
if(e instanceof Element)
{
source = new DOMSource(e);
break;
}
}
//Do the transformation and output
transformer.transform(source, result);
System.out.println(sw.toString());
}
}
看起来你可以通过使用doc.getDocumentElement().getFirstChild()来获得第一个孩子,但问题是如果root和child元素之间有任何空格,那么将创建一个Text节点.树,你将获得该节点而不是实际的元素节点.该程序的输出是:
D:\home\tmp\xml>java Proc
blahblah
如果你不需要它,我认为你可以压缩xml版本字符串,但我不确定.如果可能的话,我可能会尝试使用第三方XML库.
java xml字符串提取元素,如何从Java中将子元素从XML提取到字符串?相关推荐
- php 元素添加子元素,css,html_怎么在添加的子元素上继承父元素上已存在的子元素的属性?,css,html,javascript - phpStudy...
怎么在添加的子元素上继承父元素上已存在的子元素的属性? 请问如何使添加后的子元素(tr)也能在鼠标经过前后继续保留其存在的子元素上的属性? dom的基础应用 window.οnlοad=functio ...
- 原生JavaScript如何解决父元素查找指定类名的子元素的问题
原生JavaScript如何解决父元素查找指定类名的子元素的问题 参考文章: (1)原生JavaScript如何解决父元素查找指定类名的子元素的问题 (2)https://www.cnblogs.co ...
- 父元素设置了圆角,子元素没有设置圆角,子元素的直角会遮挡住父元素的圆角
父元素设置了圆角,子元素没有设置圆角,子元素的直角会遮挡住父元素的圆角 在开发时,我们经常会遇到给父元素设置了圆角,但子元素没有设置圆角,子元素的直角会遮挡住父元素的圆角的问题,如何解决这个问题呢,只 ...
- html一级子元素,利用JavaScript怎么获取元素下的第一级子元素
利用JavaScript怎么获取元素下的第一级子元素 发布时间:2021-01-22 17:03:51 来源:亿速云 阅读:112 作者:Leah 这期内容当中小编将会给大家带来有关利用JavaScr ...
- jquery父元素和子元素点击事件传递问题_不可把父元素的事件传递给子元素_事件无限循环传递...
前述:jquery中: 当一个元素的点击事件被触发时,会自动将该事件向父级元素逐级专递. 但是实际场景当中,我们可能会遇到需要在父级元素中定义点击事件,来触发特定子元素的点击事件,我就遇到了这么一个问 ...
- 关于flex布局中,父元素高度auto,由一子元素撑开,另一子元素自适应高度问题
.expressRecord-single-close {//父元素样式 width: 100%; height: auto; display: flex; justify-content: flex ...
- js获取元素下的第一级子元素
js childnodes获取的是所有的子元素,而我们实际要获取第一级子元素. function getChildren(obj){var objChild = [] ;var objs = obj. ...
- 怎么html让元素脱离文档流,子元素设置绝对定位之后脱离文档流!
子元素设置绝对定位之后脱离文档流之后父容器宽高都为都不撑开了. 很多时候都是宽高都是0: 子元素设置绝对定位如何让子元素自己撑开高度? 下面的这个子元素设置绝对定位后,父元素宽高都为0 了. 如何让 ...
- 父元素设置了padding,子元素如何忽略掉这个padding
背景: 现如今在进行前端开发时,为了能够快速的构建项目,我们往往会使用到现存市面上封装好的一些ui组件库,比如vue的element组件库,react的ant-design,但在使用这些组件库时,往往 ...
最新文章
- 混合云是企业IT的未来吗?
- 转载:static的初始化顺序
- oracle使用 union all 用自增序列_值得收藏的Oracle数据库性能优化
- Unity3d高频率面试题目(选择题)
- docker镜像和容器的导出导入
- spring事务传播,隔离级别,
- wps xml转换表格_PDF转换器安装包
- Google去广告——Adblock插件使用
- 中标麒麟linux界面设置ftp,中标麒麟下sambat和vsftp配置
- 七个关键心理学(2)损失厌恶
- 为什么CAN总线支线长度不能太长?
- docker开放远程服务
- Python的基础语法及使用
- [XDOJ] ISBN号码
- 多智能体强化学习(MARL)训练环境总结
- sql服务器查看版本信息,怎么查看sql server的版本
- 《游戏学习》| 微信对话模拟生成器源码分析
- 高防CDN和高防IP防护的不同之处
- 自然拼读法--字母音与读音
- RISC-V学习总结之历史与现状【转载】