首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从大型XML中获取特定元素的值

如何从大型XML中获取特定元素的值
EN

Stack Overflow用户
提问于 2016-12-21 17:58:39
回答 0查看 765关注 0票数 0

我是JAVA SAX的初学者。我有一个很大的XML文件,我想从中提取一些信息。下面是我要解压的XML文件和代码:

XML文件中提取:

代码语言:javascript
复制
    ...
    <Synset baseConcept="3" id="mizaAj_n2AR">
          <SynsetRelations>
            <SynsetRelation relType="hyponym" targets="TaboE_n2AR"/>
            <SynsetRelation relType="hyponym" targets="TaboE_n2AR"/>
            <SynsetRelation relType="hypernym" targets="ragobap_n4AR"/>
            <SynsetRelation relType="hypernym" targets="ragobap_n4AR"/>
            <SynsetRelation relType="hypernym" targets="Tiybap_Aln~afos_n1AR"/>
            <SynsetRelation relType="hypernym" targets="Tiybap_Aln~afos_n1AR"/>
          </SynsetRelations>
          <MonolingualExternalRefs>
            <MonolingualExternalRef externalReference="04623612-n" externalSystem="PWN30"/>
          </MonolingualExternalRefs>
        </Synset>
        <Synset baseConcept="3" id="ragobap_n4AR">
          <SynsetRelations>
            <SynsetRelation relType="antonym" targets="mizaAj_n2AR"/>
            <SynsetRelation relType="antonym" targets="mizaAj_n2AR"/>
          </SynsetRelations>
          <MonolingualExternalRefs>
            <MonolingualExternalRef externalReference="04624826-n" externalSystem="PWN30"/>
          </MonolingualExternalRefs>
        </Synset>
        <Synset baseConcept="3" id="tasal~uT_n1AR">
          <SynsetRelations>
            <SynsetRelation relType="has_instance" targets="simap_n1AR"/>
            <SynsetRelation relType="is_instance" targets="simap_n1AR"/>
          </SynsetRelations>
          <MonolingualExternalRefs>
            <MonolingualExternalRef externalReference="04625882-n" externalSystem="PWN30"/>
          </MonolingualExternalRefs>
        </Synset>
...

我想要:

代码语言:javascript
复制
hyponym: 2
hypernym: 4
antonym: 2 
has_instance: 1
is_instance:1

代码(主类和我的处理程序):

代码语言:javascript
复制
    import java.io.IOException;
    import org.xml.sax.SAXException;
    import org.xml.sax.XMLReader;
    import org.xml.sax.helpers.XMLReaderFactory;

    public class Main {

        public static void main(String[] args) throws SAXException, IOException{

            XMLReader p = XMLReaderFactory.createXMLReader();
            p.setContentHandler(new handler());
            p.parse("test1.xml");
}
   ----------------------------------------
import org.xml.sax.helpers.DefaultHandler;

    public class handler extends DefaultHandler {

        @Override
        public void startElement(String SpacenameURI, String localName,
                String qName, Attributes attrs) {

            System.out.println("qname = " + qName);
            String node = qName;

            if (attrs != null) {
                for (int i = 0; i < attrs.getLength(); i++) {
                    //nous récupérons le nom de l'attribut
                    String aname = attrs.getLocalName(i);
                    //Et nous affichons sa valeur
                    System.out.println("Attribut " + aname + " valeur : " + attrs.getValue(i));
                }
            }
        }
    }
EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41259939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档