`
bit6211
  • 浏览: 74302 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用xom包编写<![CDATA[]]>段备忘

    博客分类:
  • j2ee
阅读更多
xom-1.1.jar包是一个操作xml文件的jar包,利用该jar包可以很方便的操作xml文件。但是,该.jar包中并没有现成的生成xml的<![CDATA[]]>段的函数。在经过查了许多网上资料后,该官方网站好像是说<![CDATA[]]>段不安全,经常被人误用,所以不提供生成<![CDATA[]]>段的函数。但与此同时,在官网上一个国外网友,利用xom包现有的函数,写了一个生成<![CDATA[]]>段的类,来对官网的解释表示抗议。特此记录如下,代码比较简单,就不解释了。


import java.io.IOException;
import java.io.StringReader;

import nu.xom.Builder;
import nu.xom.Document;
import nu.xom.ParsingException;
import nu.xom.Text;

/**
* 创建CDATA段的辅助类
*/
public class CDATAFactory
{
private static final Text PROTOTYPE;  // this is really an instance of CDATASection

static
{
    Text temp = null;

    try
    {
        // XOM preserves existing CDATA's so start with a doc that has one
        String docWithCDATA = "<text><![CDATA[prototype]]></text>";

        Builder builder = new Builder();
        Document document = builder.build(new StringReader(docWithCDATA));

        // grab the resulting CDATASection and keep it around as a prototype
        temp = (Text) document.getRootElement().getChild(0);
        temp.detach();
    }
    catch (IOException e)
    {
        // not worried about IOExceptions just reading a string
    }
    catch (ParsingException e)
    {
        // already know this document is valid and will parse
    }

    PROTOTYPE = temp;
}

public static Text makeCDATASection(String value)
{
    // use copy and setValue to get a brand new CDATA section
    Text result = (Text) PROTOTYPE.copy();
    result.setValue(value);
    return result;
}
}
分享到:
评论

相关推荐

    XmlConverJSON.java

    用java中的 &lt;dependency&gt; &lt;groupId&gt;net.sf.json-lib&lt;/groupId&gt; &lt;artifactId&gt;json-lib&lt;/artifactId&gt; ... &lt;artifactId&gt;xom&lt;/artifactId&gt; &lt;version&gt;1.1&lt;/version&gt; &lt;/dependency&gt; 依赖来进行xml和json的转换

    xom-1.1.jar.zip

    &lt;artifactId&gt;xom&lt;/artifactId&gt; &lt;version&gt;1.1&lt;/version&gt; &lt;/dependency&gt; ``` 对于非Maven项目,你需要将"xom-1.1.jar"文件复制到项目的类路径下,通常是放到`lib`目录并配置IDE或构建工具使其能够识别。 在XML转...

    xom api ,demo,document

    &lt;artifactId&gt;xom&lt;/artifactId&gt; &lt;version&gt;1.2.5&lt;/version&gt; &lt;/dependency&gt; ``` 如果使用Gradle,则在build.gradle文件中添加: ```groovy implementation 'nu.xom:xom:1.2.5' ``` 6. **异常处理**: XOM库中...

    xml 与json转换代码

    String xml = "&lt;student&gt;&lt;name&gt;John&lt;/name&gt;&lt;age&gt;25&lt;/age&gt;&lt;/student&gt;"; Student student = (Student) xstream.fromXML(xml); String jsonString = xstream.toXML(student); ``` 在这里,`Student`是一个包含`name`和...

    Json控件java所需支持Jar包javaJson

    &lt;artifactId&gt;json&lt;/artifactId&gt; &lt;version&gt;20180813&lt;/version&gt; &lt;/dependency&gt; &lt;!-- 如果需要json-xom或json-simple,请添加相应的依赖 --&gt; &lt;/dependencies&gt; ``` 对于`dom4j`,也需要添加相应的依赖,具体依赖信息...

    nu.xom xom xom.jar -1.2.3

    XOM,全称为eXtensible Object Model,是一款在Java平台上用于XML处理的库。它由天文学家和软件开发者Tim Bray发起,并以其强大的类型安全、API简洁和高性能而受到开发者的欢迎。XOM的核心设计理念是提供一个既简单...

    xom-1.1.jar包

    在Java编程中,处理XML数据时,XOM(eXtensible Object Model)库提供了一个高效、简洁且易于使用的API。XOM-1.1.jar是XOM库的一个版本,它专门针对XML解析和操作提供了强大的支持。本文将深入探讨XOM库的核心功能、...

    xom1.2.6 jar 包

    javax.xml类库 xom1.2.6 jar包

    xom.jar json-lib struts2 包

    标题中的“xom.jar json-lib struts2 包”提到了三个关键的IT概念:xom.jar、json-lib和Struts2。让我们逐一深入探讨这些技术及其在Java开发中的作用。 1. **XOM库(eXtensible Object Model)**: XOM是一个Java...

    使用xom处理xml文档的demo源码

    本教程通过一个简单的“使用XOM处理XML文档的demo源码”实例,旨在帮助开发者了解如何利用XOM库进行XML文档的操作,如查找、插入、删除和修改。 首先,让我们详细了解XOM库的特点。XOM库设计的核心理念是消除DOM...

    xom jar包 xml用的

    xom jar包 xml用的,自己用的,thank csdn!

    使用XMLDecode将xml内容解析成json所需jar包

    String xmlString = "&lt;root&gt;&lt;element1&gt;Value1&lt;/element1&gt;&lt;element2&gt;Value2&lt;/element2&gt;&lt;/root&gt;"; // 使用XOM解析XML Element root = new nu.xom.Builder().build(new StringReader(xmlString)).getRootElement();...

    DWR.xml配置文件说明书(含源码)

    这里仅仅是定义了Converter并且简单的放在&lt;convert….&gt;元素之内,任何的&lt;convert….&gt;元素内容都有两个必须定义的属性.一个是对converter定义的引用和converter能够转换的类. 例如最简单的converter是null converter,...

    xom-1.1.jar

    xml转json时的依赖包, Size: 421.45 KB Detail: META-INF/ META-INF/MANIFEST.MF 1.15 KB nu/ nu/xom/ nu/xom/ASCIIWriter.class 499.0 bytes nu/xom/Attribute$Type.class 2.04 KB nu/xom/...

    xom-1.2.8.jar

    xom,在将json字符串转换为xml的时候,会用到xom包的

    java转换xml、list、map和json

    json-lib库依赖于多个依赖包,包括commons-beanutils、commons-collections、commons-lang、commons-logging、ezmorph和xom等。如果缺少这些依赖包,将会出现运行错误。 本文主要讲述了Java中将xml、list、map和...

    是关于XML方面 的。

    2. 文档元素(Element)是XML的核心,由标签(Tag)组成,如`&lt;element&gt;`和`&lt;/element&gt;`。元素可以包含其他元素、文本或属性。 3. 属性(Attribute)用于给元素添加额外信息,如`&lt;element attr="value"&gt;`。 4. 命名...

    xom-1.3.4 _www.4huh59.xom_www.4hudd30..xom_www.3DGayWorlds.xom_x

    压缩包内的文件名为"xom-1.3.4.jar",这通常是一个Java Archive文件,包含了XOM库的源代码或者编译后的类文件,使得开发者可以在Java环境中使用XOM库来解析和操作XML文档。.jar文件是Java平台的标准归档格式,它可以...

    XML常考练习题!!XML常考练习题

    6. CDATA:XML中,如果内容包含特殊字符(如 `&lt;` 或 `&gt;`),可以使用CDATA段(`&lt;![CDATA[...]]&gt;`)包裹,使得这些字符不被解析。 7. 注释(Comments):XML支持使用`&lt;!-- ... --&gt;` 来添加注释,这对文档的解释和...

    xom-1.2.7 xml

    - **Text对象**:文本内容由`nu.xom.Text`对象表示,包括字符数据(CDATA)和普通文本。 - **Attribute对象**:XML属性对应于`nu.xom.Attribute`,每个属性都有一个名字和值。 2. **XOM的核心特性**: - **类型...

Global site tag (gtag.js) - Google Analytics