GPath方式的Xml访问,为我们的Xml处理提供了极大的灵活性和简单性,这都要归功于Groovy的简洁和强大,在此就不罗嗦了。
可是如果Xml的tag处理,你不想在你的代码里边写死,而是希望通过配置文件来灵活定制呢,让我们还是以实例来说话吧
我有一个Xml,如下:
<a>
<aa a="attrA">
<aaa1 b="attrB">aaa1Content</aaa1>
<aaa2 c="attrC">aaa2Content</aaa2>
</aa>
</a>
如果我要处理aaa2的c属性,那我需要这样的表达式:root.aa.aaa2.@c来得到这个xml元素,当然了,这么简单的用法谁都知道,可是如果我的标签并不想这样写死代码里边,我想灵活的定制,比如我以后新的Xml有aaaa.@c这样的元素呢?显然通过:root."aa.aaa2.aaaa”.@c的方式并不成功,因为GPath将"aa.aaa2.aaaa”看作是一个标签,而不是3个父子关系的标签。
其实解决办法有好多,你可以用find闭包方法,而我目前觉得用循环的方式更简单,我的全部代码如下:
def xml = """
<a>
<aa a="attrA">
<aaa1 b="attrB">aaa1Content</aaa1>
<aaa2 c="attrC">aaa2Content</aaa2>
</aa>
</a>
"""
def root = new XmlSlurper().parseText(xml)
def aa = "aa.aaa2"
def v=root
aa.split("\\.").each{
v=v."$it"
}
assert "aaa2Content"==v.text()
assert "attrC"==v.@c.text()
如果对Groovy有任何疑问,请来:
Groovy中文社区
分享到:
相关推荐
生成xml格式字符串、序列化XML 对象=》XML文本、反序列化 XML文本=》对象 等方法,对象和xml之间的相互转换、datatable方式转换为xml文本的工具类方法 C#语言
在Java编程中,有时我们需要将实体类对象转换成XML格式的字符串,这在数据交换...总的来说,Java提供了一套完整的工具链来帮助开发者将实体类转换为XML格式的字符串,这使得在Java应用程序中处理XML数据变得更加便捷。
在IT行业中,XML(eXtensible Markup Language)是一种被广泛使用的数据交换格式,它具有良好的...通过阅读博客文章“xml格式的字符串转换成List”,你可以获得更具体的实现细节和代码示例,从而加深对这一主题的理解。
字符串转化为XML文件 本文将详细介绍字符串转化为XML文件的知识点,包括XML文件的基本结构、StringBuilder类的使用、XML文档对象模型(DOM)、XML文件的保存等。 XML文件的基本结构 XML(Extensible Markup ...
在给定的代码示例中,我们看到了如何使用JDOM库来解析一个XML字符串,并对其进行操作。下面我们将详细解析这个过程: 1. **初始化XML源**:首先,将XML字符串转化为`StringReader`对象,这是为了将字符串转换为可以...
总之,XmlNotepad v2.5是处理大量字符串转换为XML格式的理想工具,尤其对于需要频繁进行此类转换的IT从业者来说,它的高效和便捷性是其他工具无法比拟的。通过熟练掌握并运用这款工具,可以极大地提高工作效率,简化...
这个函数通常会接受一个XML字符串作为输入,然后通过添加适当的换行符和缩进来使其更易读。实现这样的功能可能涉及到对XML字符串的逐行解析,检查节点类型,并在适当的地方插入换行和缩进。 在Delphi XE7中,你可以...
因此,Java中提供了一些工具和方法来格式化XML文件,使其更易于理解和处理。本文将深入探讨如何使用Java来格式化XML文件。 首先,我们需要了解Java中处理XML的基本库——`javax.xml.transform`和`javax.xml.parsers...
掌握JSON和XML的格式化工具对于开发者来说至关重要,因为它们能够帮助快速定位问题、调试代码和理解复杂的数据结构。在处理大型或复杂的JSON和XML文档时,这类工具能够大大提高工作效率,减少因数据格式错误引发的...
计息xml格式的字符串,封装到Map,Object>集合中
生成的RSA参数可以使用`ToXmlString()`方法转换为XML格式的字符串。例如,以下代码将公钥和私钥转换为XML格式: ```csharp RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); rsa....
xml字符串转换json格式 可用于微信小程序xml字符串转换json格式 安装 npm方式安装 npm install --save xmlstring2json bower方式安装 bower install xmlstring2json 用法示例: bookstore.xml文件 <title>...
javascript中,不论是解析xml文件,还是xml格式的字符串,都是通过DOM对象来进行操作的。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看 资源截图: 资源太大,传百度网盘了,链接...
在PB中解析XML字符串,通常是通过内置的XML处理函数或者第三方库来实现的,这样可以将XML文档的节点和属性映射到数据窗口的列和行,从而便于数据的访问和操作。 解析XML字符串的过程通常包括以下步骤: 1. 加载XML...
在Android开发过程中,为了实现应用的国际化或多语言支持,开发者通常会使用`strings.xml`文件来存储各种字符串资源。这些字符串资源不仅可以被直接引用显示在界面上,还可以通过格式化的方式动态填充变量值,从而...
在本实例中,我们将讲解如何使用HttpClient来传输XML字符串。首先,我们需要确保引入了正确的依赖,包括Apache HttpClient、HttpMime、Commons Lang以及其他的辅助库。以下是POM文件中的依赖配置: ```xml <!-- ....
c#生成XML字符串,简单易懂,中间过程不生成XML文件,不用担心多个操作的访问问题,返回结果为标准的XMl格式。
这通常涉及到创建类属性对应XML元素,使用注解如`@XmlElement`来指定映射关系。`test1.java`则可能包含了XML解析和对象绑定的代码,通过调用`SDSWorkOrder`的相关方法实现。 总结起来,使用JDK解析XML字符串涉及...
具体而言,通过创建一个XmlDocument对象并加载XML字符串,然后使用XmlTextWriter进行写入操作,并设置Formatting属性为Indented,即可实现XML文档的自动换行和缩进。 以下是对上述代码片段的逐行分析: 1. `string...
8. **序列化回XML字符串**:完成解析和操作后,可能需要将`Document`对象重新转换为XML字符串,这可以通过`OutputFormat`和`XMLWriter`实现。 ```java import org.dom4j.io.OutputFormat; import org.dom4j.io.XML...