小编典典

没错,使用标准XML API并不是一种好方法-这是一个示例(可能是bug缠身;它可以运行,但是我很久以前就写了)。

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()来获得第一个孩子,但是问题是如果根元素和子元素之间存在任何空格,则会在树,您将获得该节点,而不是实际的元素节点。该程序的输出为:

D:\home\tmp\xml>java Proc

blahblah

我认为您可以在不需要的情况下取消xml版本字符串,但是我不确定。如果可能的话,我可能会尝试使用第三方XML库。

2020-10-15

java中获取XML中的子xml_如何将子元素从XML提取到Java中的字符串?相关推荐

  1. oracle中获取列的值,oracle - Oracle-SQL从具有特定列和值的所有表中获取数据 - SO中文参考 - www.soinside.com...

    假设我们有一个表ACCOUNT,其中的CUST_ID列如下:SQL> SELECT OWNER, A.TABLE_NAME, COLUMN_NAME FROM 2 ALL_TAB_COLS A ...

  2. java 反射获取属性名和值_阿里P8架构师核心知识点整理:Java基础+spring原理+微服务+算法...

    Java基础 5.1.1. JAVA 异常分类及处理 5.1.1.1. 概念 如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法.在这种情况下 会抛出一个封装了错误信息的对象.此时, ...

  3. 【Groovy】自定义 Xml 生成器 BuilderSupport ( 继承 BuilderSupport 抽象类 | 在 createNode 方法中获取节点名称、节点属性、节点值信息 )

    文章目录 一.继承 BuilderSupport 抽象类 二.在 createNode 方法中获取节点名称.节点属性.节点值信息 三.完整代码示例 1.MyBuilderSupport 生成器代码 2 ...

  4. android apk 的信息,Android中获取apk基本信息

    一 PackageManager可以获得的所有包节点信息: 1,所有节点的基类:PackageItemInfo: 2,PackageInfo:package的全面信息,与AndroidManifest ...

  5. 04-struts2框架中获取servlet api及Result结果类型

    在struts2框架中获取servlet api 对于struts2框架,不建议直接使用servlet api; 在struts2中获取servlet api有三种方式: 1.通过ActionCont ...

  6. 知识图:从图和数据库中获取知识

    知识图:从图和数据库中获取知识 知识图到底是什么,以及关于它们的所有炒作是什么?如果想成为世界各地的Airbnbs,Amazon,Google和LinkedIn,那么学会区分真实的炒作,定义不同类型的 ...

  7. 解决 .NET Core 在 Linux Container 中获取 CurrentCulture 不正确的问题

    背景 在将公司一款基于 .NET Framework 的控制台程序迁移到 .NET Core 3.1 时,发现程序中本地化的部分失效,症状类似于对 Thread.CurrentThread.Curre ...

  8. vue中获取/操作组件中的dom元素

    最近刚做了一个项目,需要用到地图,选择的是腾讯地图,创建地图的时候,需要给地图创建函数中传入地图容器的id或者容器的dom元素,但是在调试过程中,发现怎么都无法获取dom元素,直接通过getEleme ...

  9. Spring源码 - 从缓存中获取单例Bean

    # Spring源码 - 从缓存中获取单例Bean Spring版本:Spring 5.3.13-release # 1.从缓存中获取单例Bean 单实例Bean在Spring的同一个容器中只会创建一 ...

最新文章

  1. Celery--任务调度利器
  2. 【 HihoCoder】1082 The Marshtomp has seen it all before (暴力 或 脑力)
  3. View-webui controller 功能流程
  4. MySQL 怎么变快_如何让mysql索引更快一点
  5. 一句话理解tf.identity的含义
  6. SwitchyOmega 配置
  7. 运维经验 清空大量日志
  8. python 判断字符串时是否是json格式方法
  9. i++与++i的区别,使用实例说明
  10. 强大的SqlCacheDependency【转】
  11. 市场主流单片机的介绍和选择指南
  12. 《中国区块链产业园15强名录》
  13. 洛谷P1063 能量项链
  14. PS 2019 Mac版 自学入门系列(六)——裁剪和拉直图像
  15. python中怎样定位字符串中元素的位置_python查找字符串位置
  16. unity实现图片轮播效果_Unity 制作图片轮播功能
  17. 问题记录:系统还原后,QQ显示一直登录中,但却登录不上去,而且很多软件无法使用
  18. 计算机排名2018全国,2018全国90所计算机专业大学排名,分为ABC三个等级
  19. DailyTask-关于电梯问题
  20. linux qt 背景图片,qt设置背景图片

热门文章

  1. java 的function_Function方法-java
  2. 24点游戏c语言程序代码,C语言实现24点游戏源代码
  3. python中如何统计元组中元素的个数_Python:count直到列表中的元素是一个元组
  4. GP学习(二)—Executing tools and Accesubg licensing0
  5. ts怎么转换成m3u8直播源_HLS及M3U8介绍
  6. ifound Android wifi,方正新品记录仪iFound V1号称黑夜变白天,真的假的?
  7. 计算机c语言模拟考试,国家计算机二级c语言考试模拟题
  8. centos mysql单向同步,虚拟机下实现Centos5.6下Mysql双向同步配置
  9. 周期性/定时执行python任务,使用三种方法:while、apscheduler、sched
  10. ei会议和ei源刊的区别_核心期刊SCI论文发表 | SCI和EI和核心有什么区别