小编Sri*_*vas的帖子

如何使用XSLT重命名XML标记

这是我的XML-

<CATALOG>
    <NAME>C1</NAME>
    <CD>
    <NAME>Empire Burlesque</NAME>
    <ARTIST>Bob Dylan</ARTIST>
    <COUNTRY>USA</COUNTRY>
    <COMPANY>Columbia</COMPANY>
    <PRICE>10.90</PRICE>
    <YEAR>1985</YEAR>
    </CD>
    <CD>
    <NAME>Hide your heart</NAME>
    <ARTIST>Bonnie Tyler</ARTIST>
    <COUNTRY>UK</COUNTRY>
    <COMPANY>CBS Records</COMPANY>
    <PRICE>9.90</PRICE>
    <YEAR>1988</YEAR>
    </CD>
 </CATALOG>
Run Code Online (Sandbox Code Playgroud)

我想将目录中的NAME标记替换为CATALOG-NAME,将CD中的NAME标记替换为CD-NAME,这应该使我的xml看起来像这样 -

    <CATALOG>
        <CATALOG-NAME>C1</CATALOG-NAME>
        <CD>
        <CD-NAME>Empire Burlesque</CD-NAME>
        <ARTIST>Bob Dylan</ARTIST>
        <COUNTRY>USA</COUNTRY>
        <COMPANY>Columbia</COMPANY>
        <PRICE>10.90</PRICE>
        <YEAR>1985</YEAR>
        </CD>
        <CD>
        <CD-NAME>Hide your heart</CD-NAME>
        <ARTIST>Bonnie Tyler</ARTIST>
        <COUNTRY>UK</COUNTRY>
        <COMPANY>CBS Records</COMPANY>
        <PRICE>9.90</PRICE>
        <YEAR>1988</YEAR>
        </CD>
   </CATALOG>
Run Code Online (Sandbox Code Playgroud)

xml xslt xpath

18
推荐指数
1
解决办法
2万
查看次数

使用SAX解析器,如何解析具有相同名称标签但在不同元素中的xml文件?

是否可以在SAX解析器中提供路径表达式?我有一个XML文件,它有几个相同的名称标签,但它们在不同的元素中.有没有办法区分它们.这是XML:

<Schools>
    <School>
        <ID>335823</ID> 
        <Name>Fairfax High School</Name> 
        <Student>
            <ID>4195653</ID>
            <Name>Will Turner</Name>
        </Student>
        <Student>
            <ID>4195654</ID>
            <Name>Bruce Paltrow</Name>
        </Student>
        <Student>
            <ID>4195655</ID>
            <Name>Santosh Gowswami</Name>
        </Student>
    </School>
    <School>
        <ID>335824</ID> 
        <Name>FallsChurch High School</Name> 
        <Student>
            <ID>4153</ID>
            <Name>John Singer</Name>
        </Student>
        <Student>
            <ID>4154</ID>
            <Name>Shane Warne</Name>
        </Student>
        <Student>
            <ID>4155</ID>
            <Name>Eddie Diaz</Name>
        </Student>
    </School>
</Schools>
Run Code Online (Sandbox Code Playgroud)

我想根据学校的名称和ID区分学生的姓名和身份证.

谢谢你的回复:

我创建了一个学生pojo,其中包含以下字段:school_id,school_name,student_id和student_name以及getter和setter方法.这是我的临时解析器实现.当我解析xml时,我需要将学校名称,id,学生姓名,id的值放在pojo中并返回它.你能告诉我如何实现堆栈以区分.这是我的解析器框架::

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

public class HandleXML extends DefaultHandler {

    private student info;
    private boolean school_id = false;
    private boolean school_name = false;
    private boolean student_id = false;
    private boolean …
Run Code Online (Sandbox Code Playgroud)

java xml xpath saxparser xml-parsing

6
推荐指数
2
解决办法
2万
查看次数

标签 统计

xml ×2

xpath ×2

java ×1

saxparser ×1

xml-parsing ×1

xslt ×1