Xmappr
是一个使用纯Java编写的处理XML的类库,提供一种非常简单的方式来处理XML,可以将任意XML与Java类相映射。
主要特性:
- 映射通过注释或外部配置实现
- 可以缓存未映射元素
- 保持XML元素顺序
- 可以自定义类型转换器
- 完全支持XML命名空间
- 线程安全(设计用于多线程使用)
- 不包含任何依赖关系
- 整个类库大小只有80kb
- 采用BSD许可
点击查看详情:http://www.theserverside.com/news/thread.tss?thread_id=59078
示例
xml:
-
<
root
a
=
"2.2"
>
-
some text
-
<
node
>
123
</
node
>
-
</
root
>
Java:
-
@RootElement
-
public
class
Root {
-
-
@Attribute
-
public
float
a;
-
-
@Element
-
public
Integer node;
-
-
@Text
-
public
String text;
-
}
上述代码已经完成了一段XML和Java文件的映射的配置,只需要使用@Elemet, @Attribute and @Text这三个注释即可,映射只需要两行代码:
-
Xmappr xm =
new
Xmappr(Root.
class
);
-
Root root = (Root) xm.fromXML(reader);
如果你不喜欢注释,还可以使用使用XML配置的方式来配置映射:
-
<
root-element
name
=
"root"
class
=
"package.name.Root"
>
-
<
attribute
field
=
"a"
>
-
<
element
field
=
"node"
>
-
<
text
field
=
"text"
>
-
</
text
>
-
</
element
>
</
attribute
>
</
root-element
>
==================================================================================
大家如果使用这个类库有什么心得,发消息或者留言和我交流啊,
还有,有人知道 python里面有没有能改变xml元素顺序,和保持元素顺序的处理方法啊?
分享到:
相关推荐
本教程将聚焦于如何使用第三方库——xmappr,来快速且高效地解析XML文件。 xmappr是一个Java库,它提供了简洁的API,使得XML到Java对象的映射变得异常简单。相比于传统的DOM、SAX或StAX解析器,xmappr通过其直观的...
- **排序后的XML保存**:对List排序后,可以将其数据保存回XML文件,确保元素按照新的顺序排列。 通过以上方法,C#开发者可以高效地处理XML文档,同时利用List的排序功能对数据进行组织和管理。在实际项目中,这两...
当我们想要计算XML文档中特定元素的所有子元素的总和时,LINQ to XML提供了便捷的方法。 以下是使用C# LINQ to XML进行元素值总计的基本步骤: 1. 引入命名空间:在C#代码中,首先需要引入`System.Xml.Linq`命名...
在这个项目中,我们可能需要根据XML文件中特定元素的值对数据进行排序。这涉及到数据结构(如列表或数组)的排序算法。Python内置的`sorted()`函数或列表的`sort()`方法可以实现排序,但需要提供一个比较函数或key...
此外,XML提倡自我描述性,这意味着元素的含义应从其名称和上下文中推断出来,而不是依赖于位置或顺序。 XML文档可以通过DTD(Document Type Definition)或XSD(XML Schema)进行验证,确保文档符合预设的结构规则...
Python自带的ElementTree保存xml时不会保留节点属性的原始顺序,会重新排序。 这里提供一个Monkey Patch使ElementTree保存xml时能够保留节点属性的原始顺序,附有sample。
在本主题“XML分页排序数据岛”中,我们将深入探讨如何利用XML数据岛实现数据的分页和排序功能,特别是在与后台数据源结合的情况下。 首先,理解XML数据岛的概念至关重要。XML是一种结构化数据的标记语言,用于存储...
之前做一个开发项目,要校验xml报文合法性,根据Schema使用javax.xml.validation.Validator倒是能验证XML,但是要求是顺序一致才行,一直没找到合适的排序,就自己写了一个排序代码,根据xsd规范文件给xml排序,有...
对XML元素进行排序,通常需要先将其转换为`XmlNodeList`,然后使用自定义的排序逻辑: ```csharp // 获取元素列表 XmlNodeList elements = doc.SelectNodes("//elementName"); // 自定义排序逻辑 elements.Sort((x,...
XML DOM 定义了所有 XML 元素的对象和属性,以及访问它们的方法(接口)。 换句话说:XML DOM 是用于获取、更改、添加或删除 XML 元素的标准。 模块简介: 1、XMLDOMDocument类: XML对象文档 ->操作创建或读写...
本教程将详细介绍如何在不同的编程语言中读取XML元素值。 1. Python中的XML处理 Python提供了几个库来处理XML,如`xml.etree.ElementTree`。首先,我们需要导入这个库,然后解析XML文件,最后通过元素路径来获取值...
### Web.xml加载顺序详解 #### 一、启动过程与配置加载 ...通过上述介绍,我们可以看到`web.xml`不仅控制了Web应用的启动顺序,还定义了各种组件的行为方式。理解这些基本原理对于优化Java Web应用开发至关重要。
XML元素是XML文档中的一个主要组成部分,每一个XML元素都由一个开始标签、内容和一个结束标签组成。例如,<student>...、<name>...、<sex>...、<age>...都被称为元素或标签。在XML中,标签与HTML标签类似,但XML对...
然后,用DTD或XSD定义上述元素的规则,确保每个个人介绍的XML文档都符合规范。 接下来,我们可以通过CSS(Cascading Style Sheets)为XML添加样式,使个人介绍以表格形式呈现。XML本身并不包含样式信息,但可以通过...
Java 递归遍历 XML 所有元素 Java 递归遍历 XML 所有元素是指使用 Java 语言来遍历 XML 文件中的所有元素节点,并将其值取出来。这种操作是 XML 解析的基础,能够为更复杂的解析工作奠定基础。 在 Java 中,通常...
某些XML工具提供了排序功能,但需要注意的是,XML文档的语义并不依赖元素的顺序,因此排序主要是为了美观和便利,而非必需。 5. **XML美化**:XML美化是一个广义的概念,涵盖了上述的格式化、缩进和排序,还包括了...
- 库的主要类包括`XMLDocument`(XML文档对象)、`XMLElement`(XML元素)、`XMLText`(XML文本)、`XMLComment`(XML注释)和`XMLAttribute`(XML属性)等。 2. **解析XML文件** - 使用`XMLDocument::LoadFile()...
3. **DTD(文档类型定义)**:DTD是一种定义XML文档结构的规范,它可以规定元素的类型、顺序和数量。例如,`<!ELEMENT element (child-element)*>`表示`element`元素可以包含零个或多个`child-element`子元素。 4. ...
4. **设置排序**:用户可以设定元素的排序规则,比如按照文件名升序排列,确保XML文件中元素的顺序符合需求。 5. **生成XML**:点击生成按钮,软件将根据设定生成XML文件,其中包含所选文件夹内文件的信息。 6. **...
例如,我们可以使用 `attrib` 属性来访问 XML 元素的属性,我们可以使用 `text` 属性来访问 XML 元素的文本内容。 ElementTree 模块提供了丰富的功能来处理 XML 文档。开发者可以使用 ElementTree 模块来解析、遍历...