gpt4 book ai didi

java - Android 搜索属性中的 SAX 解析

转载 作者:行者123 更新时间:2023-12-02 07:21:31 25 4
gpt4 key购买 nike

我正在尝试使用 SAX 来识别属性。我的XML如下

<DAY VALUE="1">
<BREAKFAST>0700</BREAKFAST>
<LUNCH>1200</LUNCH>
<DINNER>1900</DINNER>
</DAY>
<DAY VALUE="2">
<BREAKFAST>0730</BREAKFAST>
<LUNCH>1230</LUNCH>
<DINNER>1930</DINNER>
</DAY>

我的startElement代码如下:

@Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
elementOn = true;
if (localName.equals("DAY"))
{
data = new XMLGettersSetters();
}
}

上面的代码将找到第一个元素“DAY”并给我内容,但不提供其余的DAY元素。

有什么方法可以搜索该属性吗?我的目标是获取当月的当前日期,然后在 xml 中搜索该日期。例如,如果今天是第二天,那么我想在 XML 文件中搜索 DAY VALUE="2" 并获取子元素

==编辑

如果我将 XML 修改为

<DAY_1>
<BREAKFAST>0700</BREAKFAST>
<LUNCH>1200</LUNCH>
<DINNER>1900</DINNER>
</DAY_1>
<DAY_2>
<BREAKFAST>0730</BREAKFAST>
<LUNCH>1230</LUNCH>
<DINNER>1930</DINNER>
</DAY_2>

和代码:

  if (localName.equals("DAY_2"))
{
data = new XMLGettersSetters();
}

我得到一个NullPointerException,但是如果该类未在 logcat 中突出显示,则该名称会出现。它指的是另一个类,但我注释掉了这些行

最佳答案

你可以这样获取属性值:

 if (localName.equals("DAY")){
String day = "";
if (attributes.getValue("VALUE") != null) {
day = attributes.getValue("VALUE");
}
//data = new XMLGettersSetters();
}

关于java - Android 搜索属性中的 SAX 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14159217/

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