저는 초보자 인 JAVA SAX
입니다. 파일 크기가 큰 XML
이며 일부 정보를 추출하고 싶습니다. 내가 원하는큰 XML에서 특정 요소의 값을 가져 오는 방법
...
<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>
...
: 다음 XML
파일에서
추출물 : 아래 I 추출 할 무엇 XML
파일 및 코드
hyponym: 2
hypernym: 4
antonym: 2
has_instance: 1
is_instance:1
코드 (메인 클래스와 내 핸들러) :
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));
}
}
}
}
질문은 무엇입니까? – geoffreydv
나는 내가 원하는 것을 언급했다. XML 파일에서 정보를 얻고 싶습니다. 내 코드가 올바른 정보를 얻지 못합니다. – bttX
그래서 내가 올바르게 이해한다면, 당신은 값을 원하지 않지만 파일의 특정 엘리먼트의 발생 횟수를 세고 싶습니다. Synset 엘리먼트 당 카운트를 원합니까, 아니면 일반적으로 파일 전체를 원하는가? – geoffreydv