Java를 사용하여 XML 코드 아래에서 값을 추출하는 방법은 무엇입니까? 여기서는 java를 사용하여 본문에서 스레드 값을 추출하고 싶습니다. 여기서 전체 코드는 문자열로 간주됩니다.
<message to="[email protected]/Smack"
from="[email protected]"
type="chat">
<body>sai</body>
<thread>NNLWF1</thread>
<active xmlns="http://jabber.org/protocol/chatstates" />
</message>
String xmlString="<message>....</message>";//above xml code
JAXBContext jc = JAXBContext.newInstance( message.class );
Unmarshaller u = jc.createUnmarshaller();
message o =(message) u.unmarshal( new StreamSource( new StringReader(xmlString ) ) );
System.out.println("------getTo-------"+o.getTo());
System.out.println("------getFrom-------"+o.getFrom());
System.out.println("------getBody-------"+o.getBody());
System.out.println("------getThread-------"+o.getThread());
그리고 Bean 클래스 (메시지) 코드.
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class message {
public message(){}
private String to;
@XmlAttribute
public String getTo() {
return to;
}
public void setTo(String to) {
this.to = to;
}
@XmlAttribute
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
@XmlElement
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body;
}
@XmlElement
public String getThread() {
return thread;
}
public void setThread(String thread) {this.thread = thread;
}
private String from;
private String body;
private String thread;
public message(String to, String from, String body,String thread ){
super();
this.to = to;
this.from = from;
this.body = body;
this.thread = thread;
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다