如何在Dom解析器中修改XML数据

前端之家收集整理的这篇文章主要介绍了如何在Dom解析器中修改XML数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是Java和XML DOM解析器的新手.我有一个要求,比如读取xml数据并存储它的列和行类型的通知.
示例:sample.xml文件
<staff>
        <firstname>Swetha</firstname>
        <lastname>EUnis</lastname>
        <nickname>Swetha</nickname>
        <salary>10000</salary>
    </staff>
    <staff>
        <firstname>John</firstname>
        <lastname>MAdiv</lastname>
        <nickname>Jo</nickname>
        <salary>200000</salary>
    </staff>

我需要读取此XML文件并以上述格式存储它:

firstName,lastName,nickName,Salary
swetha,Eunis,swetha,10000
john,MAdiv,Jo,200000

Java代码

NodeList nl= doc.getElementsByTagName("*");

        for(int i=0;i< nl.getLength();i++)
        {
            Element section = (Element) nl.item(i);

             Node title = section.getFirstChild();
              while (title != null && title.getNodeType() != Node.ELEMENT_NODE)
              {
                   title = title.getNextSibling();
                if (title != null)
              {
                String first=title.getFirstChild().getNodeValue().trim();
                    if(first!=null)
                    {
                        title = title.getNextSibling();
                    }
                System.out.print(first + ",");
               } }
              System.out.println("");
        }//for

我做了上面的代码,但我无法找到以上述列和行格式获取数据的方法.请任何人请帮助我解决我的问题,我在过去很多天都在研究它

解决方法

由于这看起来像家庭作业,我会给你一些提示

>您的讲师可能会为您提供有关处理XML DOM的一些讲义和/或示例.再读一遍.
> getElementsByTagName方法将元素名称作为参数. “*”不是有效的元素名称,因此调用不会返回任何内容.
>您的代码需要镜像XML的结构.在这种情况下,XML结构由N个staff元素组成,每个元素包含名为firstname,lastname,nickname和salary的元素.

您的讲师也可能希望您使用XSLT或XML绑定机制来简化此操作. (或者这可能是XMI而不是XML ……其中有其他方法可以处理这个……)

I kept getElementsByTagName method parameter “*” because to read the data dynamically.

好吧,它不起作用!! DOM getElementsByTagName方法不接受任何类型的模式.

如果要使代码通用,则不能使用getElementsByTagName.从DOM的根节点开始,您将需要从顶部遍历树.

Can you please provide me with sample data.

不,你的讲师不会批准我给你复制的代码.但是,我要指出网上有很多XML DOM教程可以帮助你弄清楚你需要做什么.最好的事情是你自己做这项工作.你将学到更多的东西……这就是你作业的重点!

猜你在找的HTML相关文章