gpt4 book ai didi

java - 使用 SAX 解析 XML

转载 作者:行者123 更新时间:2023-12-02 07:04:58 24 4
gpt4 key购买 nike

示例 XML,

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Issue>
<Snippet>
sri;;
hiil
bye;
tc;
</Snippet>
</Issue>

是否可以获取片段标签内的整个字符?

如果这是实现,

    public void startElement(String uri, String localName,
String qName, Attributes attributes) throws SAXException {
temp = "";
if (qName.equalsIgnoreCase("Issue")) {
acct = new Account();

public void endElement(String uri, String localName, String qName)
throws SAXException {

if (qName.equalsIgnoreCase("Issue")) {
// add it to the list
accList.add(acct);
else if(qName.equalsIgnoreCase("Snippet"))
{
acct.setPrimarySnippet(temp);
}

O/p 为 tc;但我需要片段标签内的完整值才能打印。

使用数组列表。用于存储和检索值的 getter 和 setter 方法。

最佳答案

使用“字符”方法。

http://docs.oracle.com/javase/1.5.0/docs/api/org/xml/sax/helpers/DefaultHandler.html#characters(char[], int, int)

意思是,您必须实现 startElementendElement 方法(以表明您正在进入和退出“Snippet”标记,然后 strings 方法将返回字符。

  public void startElement(String uri, String localName,
String qName, Attributes attributes) throws SAXException {
temp = "";
if (qName.equalsIgnoreCase("Issue")) {
someFlagVariable = true;

public void endElement(String uri, String localName, String qName)
throws SAXException {
if (qName.equalsIgnoreCase("Issue")) {
someFlagVariable = false;
}
}
public void characters(char[] ch,
int start,
int length)
throws SAXException{
if (someFlagVariable ){
String content = new String(ch, start, length).trim(); //this is your content
}
}

关于java - 使用 SAX 解析 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16218429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com