【问题标题】:How do I remove the root element of an XML document?如何删除 XML 文档的根元素?
【发布时间】:2015-07-29 21:12:56
【问题描述】:

我想使用 Java 从以下 xml 中删除根元素:

<BookRequest xsi:schemaLocation="http://test/books.xsd">
 <Book>
 <Name>abc</Name>
 <Author>xyz</Author>
 </Book>
</BookRequest>

所以我只会将其作为最终输出:

<Book>
 <Name>abc</Name>
 <Author>xyz</Author>
</Book>

我该怎么做?

【问题讨论】:

  • 读取xml文件并获取Root元素的子元素并将其添加到新的xml对象中并创建新的xml对象的新文件。
  • 你已经做了什么。提供一些您自己解决问题的代码。
  • 看看java文档对象模型,如果你不能使用xml到java对象比如xstream.jaxb
  • 我已经改进了你在这个问题上的语法和拼写,并从你的标题中删除了 Java,因为它不需要(它是一个标签)。请记住这一点,以备将来的问题!

标签: java xml xml-parsing domparser


【解决方案1】:

您将需要 Conversion Box JAR

import java.util.Map;

import cjm.component.cb.map.ToMap;
import cjm.component.cb.xml.ToXML;

public class Convert
{
public static void main(String[] args)
{
    try
    {
        String xml = "<BookRequest xsi:schemaLocation='http://test/books.xsd'><Book><Name>abc</Name><Author>xyz</Author></Book></BookRequest>";

        Map<String, Object> map = new ToMap().convertToMap(xml);

        Map<String, Object> map2 = (Map<String, Object>) map.get("BookRequest");

        StringBuilder xmlResult = new ToXML().convertToXML(map2, true);

        System.out.println(xmlResult);
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
}
}

输出

 -------- XML Detected -------- 
 -------- Map created Successfully -------- 
 -------- Map Detected -------- 
 -------- XML created Successfully -------- 
<Book><Name>abc</Name><Author>xyz</Author></Book>

【讨论】:

    猜你喜欢
    • 2020-07-19
    • 1970-01-01
    • 2013-01-10
    • 1970-01-01
    • 2011-07-08
    • 2022-11-23
    • 2015-08-18
    • 2013-09-22
    • 1970-01-01
    相关资源
    最近更新 更多