近期碰到一个XML截取一段的问题,研究了一下。分享分享
<?xml version="1.0" encoding="GBK"?>
<return>
<result>104</result>
<info>成功接收到消息,信息已返回</info>
<service>
<arguments operate="ApplyPNRService" entityName="PNREntity">
<param name="records" type="Dictionary">
<param name="record" type="Dictionary">
<param name="FLOW_ID" type="String">19381</param>
<param name="BILL_ID" type="String">18351</param>
<param name="SEET_CODE" type="String">null</param>
<param name="FLAG" type="String">N</param>
<param name="REMARK" type="String">
温馨提示 </param>
<param name="BUSINESS_TYPE" type="String" />
<param name="ASSIGNEE_AIRCOMPANY_CODE"
type="String">
哈哈
</param>
<param name="BOOK_COMPANY" type="String" />
</param>
</param>
</arguments>
</service>
</return>
现在我要截取中的一段,可以采用XPATH+DOM4J的方式来实现
比如上面的XML,我要截取其中的
<param name="record" type="Dictionary">
<param name="FLOW_ID" type="String">19381</param>
<param name="BILL_ID" type="String">18351</param>
<param name="SEET_CODE" type="String">null</param>
<param name="FLAG" type="String">N</param>
<param name="REMARK" type="String">温馨提示</param>
<param name="BUSINESS_TYPE" type="String" />
<param name="ASSIGNEE_AIRCOMPANY_CODE" type="String">哈哈</param>
<param name="BOOK_COMPANY" type="String" />
</param>
解析代码如下:
1:将整个XML文件以String类型的方式传入进来
2:创建一个变量,用来接收返回值
3:创建一个Document对象,即org.dom4j.Document = DocumentHelper.parseText(T)
4:获取该被劫取文档的开头,使用XPATH去获取,即
String xpath = "/return/service/arguments/param/param[@name='record']"
5:读取节点,即
org.dom4j.Element ele = (org.dom4j.Element)ment.selectSingleNode(xpath);
6:使用一下XML方法转换一下
reXml = ele.asXML();
详细代码如下:
String reXml = null;
try {
org.dom4j.Document ment = DocumentHelper.parseText(xml);
String xpath = "/return/service/arguments/param/param[@name='record']";
org.dom4j.Element ele = (org.dom4j.Element)ment.selectSingleNode(xpath);
reXml = ele.asXML();
} catch (Exception e) {
// TODO: handle exception
}
return reXml;
分享到:
相关推荐
本文将详细介绍如何实现这一目标,并演示如何解析XML数据以及如何在字符串中进行截取操作。 首先,获取网络时间是防止玩家篡改本地时间以获取不当游戏奖励的一种常见方法。Unity3D提供了WWW类,可以方便地从网络上...
例如,当用户上传一个大图,系统可以截取其中的一段作为头像,确保显示效果。这可能需要计算截取的坐标和大小,然后调用如`imagecopyresampled()`函数进行裁剪并调整尺寸。 接下来,**PHP**作为后端语言,负责接收...
这段代码将图片加载到一个新的Canvas中,并绘制了整个图片。`drawImage()`方法接受多个参数,可以用于绘制图片的任意部分,例如截取图片的一部分: ```javascript ctx.drawImage(img, x, y, width, height, 0, 0, ...
在处理XML文件或网页内容时,可能需要对过长的文本进行截取,同时考虑到SEO(搜索引擎优化)和页面布局。示例代码中提到,为了避免空格和换行影响页面布局,可以用正则表达式替换掉空格,如`str.trim().replaceAll(...
因此,当我们说“截取字符串”时,实际上是在创建一个新的字符串,而不是改变原始字符串。 1. **字符串的基本操作** 在C#中,我们可以使用`string`类提供的方法来处理字符串。例如,`Substring()`方法用于截取字符...
更为推荐的方法是使用DOM解析器,如Java的`javax.xml.parsers.DocumentBuilderFactory`,将HTML字符串转换为DOM树,然后对树进行遍历截取。这样可以确保HTML结构的完整性和正确性。但是,DOM解析对内存和CPU资源的...
这段代码将每个检测到的人脸截取出来,并保存为单独的图片文件。 5. **可选:面部特征提取**:如果需要进一步分析,如识别或表情分析,可以使用MATLAB的`vision.CascadeObjectDetector`与其他工具箱(如...
本示例将介绍如何利用正则表达式来截取重复出现的XML字符串。XML(Extensible Markup Language)是用于描述数据的语言,常用于存储和传输数据。 在提供的代码片段中,我们看到一个Java方法,它展示了如何通过正则...
在网页中,摘要通常是指一段能够概括页面主要内容的文字,它有助于读者快速了解页面的主题。搜索引擎也会使用摘要信息来展示搜索结果。因此,生成HTML摘要是一项关键的任务,尤其对于新闻网站和博客等。 要使用...
值得注意的是,这里还提到了一个额外的知识点,即使用Python截取XML文件画框的图片并保存。这通常是为可视化目的,帮助我们直观地查看哪些部分被裁剪出来。虽然代码没有提供这部分的具体实现,但我们可以使用类似的...
这个代码段提供了一个基础的实现,但实际项目中可能需要处理更多的情况,比如错误处理、图片元数据的获取、XML的编码设置等。此外,对于大型或动态生成的XML文件,可能需要考虑性能优化,例如使用流式处理或分块输出...
这些图像可能是从视频中截取下来的,目的是为算法提供训练或验证的素材,比如对象检测、目标识别或者行为分析。数据集在人工智能领域中扮演着至关重要的角色,因为它让算法能够学习并理解特定对象的特征。 描述...
在iOS开发中,有时我们需要从一个较大的字符串中提取出特定部分,特别是在处理HTML或XML等格式的数据时。本文将详细介绍如何在Objective-C中截取字符串中两个指定字符串之间的内容。 首先,基本的截取方法是使用`...
JavaScript经典特效——“一段文字游戏”是一个以编程语言JavaScript实现的文字互动游戏,它可能涉及到DOM操作、事件监听、定时器、字符串处理等多个JavaScript核心概念。在这个游戏中,开发者通过JavaScript动态地...
在C#编程语言中,处理字符串是常见的任务之一,特别是在处理HTML、XML或者日志文件等含有特定分隔符的数据时。本实例讲解了如何在C#中利用正则表达式来实现按字符串截取长字符串,从而提高代码的灵活性和效率。 在...
这个"传智播客Spring教程源代码截取"包含了两个文件,"springѧϰ"和"spring学习",很可能是两个不同阶段的学习资料或者不同主题的示例代码。 1. **Spring IoC**:IoC是Spring的核心,它将对象的创建和管理权交给了...
例如,如果我们要截取一个LinearLayout,我们可以通过以下步骤: 1. **获取目标布局**:首先,我们需要获取到LinearLayout的实例。这通常可以通过布局ID或者父视图查找子视图来完成,如`LinearLayout linearLayout ...
在IT行业中,尤其是在地理信息系统(GIS)开发领域,`shp`文件是一种常见的地理空间数据格式,用于存储矢量图形信息,如点、线、多边形等。本篇文章将详细探讨如何使用Java语言,结合`meteoInfo`和`geotools`库来...
本压缩包“易语言源码易语言取WIFI密码源码.rar”包含了使用易语言编写的一段程序,其主要功能是获取无线网络(WIFI)的密码信息。 在Windows操作系统中,WIFI密码通常存储在本地的无线配置文件中,这些文件以XML...