比如,xml的格式如下:
<xsd:schema targetNamespace="urn:hl7-org:v3" xmlns="urn:hl7-org:v3" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xsd:complexType name="Text" mixed="true">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="content" type="xsd:string"/>
<xsd:element name="linkHtml" type="xsd:string"/>
<xsd:element name="sub" type="xsd:string"/>
<xsd:element name="sup" type="xsd:string"/>
<xsd:element name="br" type="xsd:string"/>
<xsd:element name="footnote" type="xsd:string"/>
<xsd:element name="footnoteRef" type="xsd:string"/>
<xsd:element name="renderMultiMedia" type="xsd:string"/>
<xsd:element name="paragraph" type="xsd:string"/>
<xsd:element name="list" type="xsd:string"/>
<xsd:element name="table" type="xsd:string"/>
<xsd:element name="element2" type="Title"/>
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="Title" mixed="true">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="content" type="xsd:string"/>
<xsd:element name="sub" type="xsd:string"/>
<xsd:element name="sup" type="xsd:string"/>
<xsd:element name="br" type="xsd:string"/>
<xsd:element name="footnote" type="xsd:string"/>
<xsd:element name="footnoteRef" type="xsd:string"/>
</xsd:choice>
</xsd:complexType>
</xsd:schema>如何得到所有的〈xsd:complexType〉节点?
<xsd:schema targetNamespace="urn:hl7-org:v3" xmlns="urn:hl7-org:v3" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xsd:complexType name="Text" mixed="true">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="content" type="xsd:string"/>
<xsd:element name="linkHtml" type="xsd:string"/>
<xsd:element name="sub" type="xsd:string"/>
<xsd:element name="sup" type="xsd:string"/>
<xsd:element name="br" type="xsd:string"/>
<xsd:element name="footnote" type="xsd:string"/>
<xsd:element name="footnoteRef" type="xsd:string"/>
<xsd:element name="renderMultiMedia" type="xsd:string"/>
<xsd:element name="paragraph" type="xsd:string"/>
<xsd:element name="list" type="xsd:string"/>
<xsd:element name="table" type="xsd:string"/>
<xsd:element name="element2" type="Title"/>
</xsd:choice>
</xsd:complexType>
<xsd:complexType name="Title" mixed="true">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="content" type="xsd:string"/>
<xsd:element name="sub" type="xsd:string"/>
<xsd:element name="sup" type="xsd:string"/>
<xsd:element name="br" type="xsd:string"/>
<xsd:element name="footnote" type="xsd:string"/>
<xsd:element name="footnoteRef" type="xsd:string"/>
</xsd:choice>
</xsd:complexType>
</xsd:schema>如何得到所有的〈xsd:complexType〉节点?
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.SAXException;
import java.util.Properties;//使用DefaultHandler的好处 是 不必陈列出所有方法,
public class ConfigParser extends DefaultHandler {////定义一个Properties 用来存放 dbhost dbuser dbpassword的值
private Properties props;private String currentSet;
private String currentName;
private StringBuffer currentValue = new StringBuffer();//构建器初始化props
public ConfigParser() {this.props = new Properties();
}public Properties getProps() {
return this.props;
}//定义开始解析元素的方法. 这里是将<xxx>中的名称xxx提取出来.
public void startElement(String uri, String localName, String qName, Attributes attributes)
throws SAXException {
currentValue.delete(0, currentValue.length());
this.currentName =qName;
}//这里是将<xxx></xxx>之间的值加入到currentValuepublic void characters(char[] ch, int start, int length) throws SAXException { currentValue.append(ch, start, length);}//在遇到</xxx>结束后,将之前的名称和值一一对应保存在props中public void endElement(String uri, String localName, String qName) throws SAXException {props.put(qName.toLowerCase(), currentValue.toString().trim());
}}
看看这段程序对你有没有帮助!