【问题标题】:How to get all the xml tags and replace the tags by new name using java如何使用java获取所有xml标签并用新名称替换标签
【发布时间】:2014-02-28 18:23:37
【问题描述】:

我需要获取所有的 xml 标签名称(不是值)并用我的新名称替换一些标签名称

为了查找 xml 标签名称,我使用了下面的代码,但它在“element.getnode()”行显示错误

   File input = new File("C:\\Documents and Settings\\admin\\Desktop\\xml\\Data Entry.xml");
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    Document doc = (Document) dbf.newDocumentBuilder().parse(input);
   doc.getDocumentElement().normalize();
    System.out.println("Root element " + doc.getDocumentElement().getNodeName());

    NodeList nodeList=doc.getElementsByTagName("*");
       System.out.println("nodeList"+nodeList);

    for (int i=0; i<nodeList.getLength(); i++)
    {
    // Get element
    Element element = (Element)nodeList.item(i);
// getting error in this print statement    
   System.out.println(element.getNodeName());
    }
    }

我正在尝试获取所有标记名并将其替换为新名称。

这是 XML 文档:

<?xml version="1.0" encoding="UTF-16"?> 
<dataroot xmlns:od="urn:schemas-microsoft-com:officedata" xmlns:xsi="w3.org/2001/XMLSchema-instance"; xsi:noNamespaceSchemaLocation="Data%20Entry.xsd" generated="2014-02-12T14:35:47"> 
    <Data_x0020_Entry> 
        <ID>1004</ID>
        <User>006Parthiban</User>
        <Data_x0020_Entry_x0020_Date>2013-12-26T00:00:00</Data_x0020_Entry_x0020_Date>
        <Publication>Daily Thanthi</Publication>
        <Edition>CE City Edition</Edition> 
        <Location>Bangalore</Location> 
        <Print_x0020_Date>2013-12-06T00:00:00</Print_x0020_Date>
        <PageNumber>1</PageNumber> 
    </Data_x0020_Entry> 
</dataroot>

【问题讨论】:

  • 发布示例 xml 文件。3
  • w3.org/2001/XMLSchema-instance " xsi:noNamespaceSchemaLocation="Data%20Entry.xsd" generated="2014-02-12T14:35:47"> 1004006Parthiban2013- 12-26T00:00:00Daily ThanthiCE 城市版班加罗尔2013-12-06T00:00:00 1
  • 老兄,上面的代码中没有 element.getnode() 吗??
  • 它在打印语句中,并且仅在该行中显示类似“找不到方法getNodeName”的错误

标签: java xml


【解决方案1】:

我认为你是从错误的包中导入的。像下面这样更改导入

import java.io.File;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;

在使用 DOM 解析器处理 xml 时,您只需从 org.w3c.dom 包导入

【讨论】:

  • 用例外的 xml 更新问题 ..这意味着存在标签-->更改后的标签名
  • 需要将 更改为 并且我也有一些 unicode 字符.. 1004006Parthiban 2013-12-26T00:00:00Daily ThanthiCE 城市版班加罗尔2013-12-06T00:00 :00103 முதல் பக்க செய்திகள்01 செய்தி
  • 您添加了更多标签,只是重命名了标签名称..u 添加了 PageType 和 ArticleType..dis 是什么?
  • 它的 xml 很长...但我添加了一些标签供您参考...我有 100 多个标签但对于 unicode 格式我只是添加了一些标签
  • 你可以做一件事..使用 domparser 读取输入 xml 文件并使用该文件创建另一个 xml 文件..
猜你喜欢
  • 1970-01-01
  • 2021-08-14
  • 1970-01-01
  • 1970-01-01
  • 2014-07-09
  • 1970-01-01
  • 1970-01-01
  • 2013-04-16
  • 1970-01-01
相关资源
最近更新 更多