簡體   English   中英

無法解析xml條目

[英]Can't parse xml entry

Xml的條目如下:

<News:Source>AD HOC News</News:Source>

但是,當使用stax xml解析器時,它將忽略該行:

    static final String SOURCE = "News:Source";
    XMLInputFactory inputFactory = XMLInputFactory.newInstance();
    // Setup a new eventReader
    InputStream in = read();
    XMLEventReader eventReader = inputFactory.createXMLEventReader(in);
    // read the XML document
        while (eventReader.hasNext()) {
            XMLEvent event = eventReader.nextEvent();
            if (event.isStartElement()) {
                String localPart = event.asStartElement().getName().getLocalPart();
                    switch (localPart) {
                    ...
                        case SOURCE:
                            // System.out.println("nothing happens here");
                            source = getCharacterData(event, eventReader);
                            break;
                    ...

是什么原因?

在用於標識XML元素的代碼中使用名稱空間前綴(“新聞”)通常是一個壞主意。 前綴在XML文件中的某個位置定義,並且完全獨立於實際的名稱空間標識符。

正確的標識必須使用QName。

如果所有元素都來自同一個命名空間,則您可能會只使用本地名稱(“源”)就可以擺脫困境,但是您必須完全了解XML文件才能保證這一點。

后來 ,最后一條建議就是您在代碼中已經在做的事情。 因此,只需使用

static final String SOURCE = "Source";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM