案例一
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEbooks[
<!ELEMENTbooks(book+)>
<!ELEMENTbook(name,press,author,price)*>//当有*号时,表示属性可以有多个,但必须是成组出现,但是顺序不能错比如(
<name></name>
<name></name>
<press></press>
<author></author>
<price></price>
)
]>
<books>
<book>
<name></name>
<press></press>
<author></author>
<price></price>
<name></name>
<press></press>
<author></author>
<price></price>
</book>
</books>
案例二
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEbooks[
<!ELEMENTbooks(book+)>
<!ELEMENTbook(name|press|author|price)>//当有|号出现时是互相排斥的,只能写一个元素
]>
<books>
<book>
<name></name>
</book>
</books>
案例三
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEbooks[
<!ELEMENTbooks(book+)>
<!ELEMENTbook(name|press|author|price)>
]>
<books>
<book>//这里的book可以写多个,并且book中的属性可以不同
<name></name>
</book>
<book>
<press></press>
</book>
</books>
案例四
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEbooks[
<!ELEMENTbooks(book+)>
<!ELEMENTbook(name*|press|author|price)>//这里的name*,中的name可以写多个,但是不可以写press
]>
<books>
<book>
<name></name>
<name></name>
<press></press>
</book>
</books>
案例五
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEbooks[
<!ELEMENTbooks(book+)>
<!ELEMENTbook(name|press|author|price)*>//当*写在()外面时,同一个属性可以出现多次,并且可以出现其他的属性,而且各个属性之间的顺序可以颠倒
]>
<books>
<book>
<name></name>
<name></name>
<author></author>
<price></price>
<press></press>
</book>
</books>
案例六
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEbooks[
<!ELEMENTbooks(book+)>
<!ELEMENTbook(name|press|author|price)*>//这个是批量生产,并且priceANY,所以价格是不一样的
<!ELEMENTname(#PCDATA)>
<!ELEMENTpress(#PCDATA)>
<!ELEMENTauthor(#PCDATA)>
<!ELEMENTpriceANY>
]>
<books>
<book>
<name>java软件编程</name>
<author>王</author>
<price>16</price>
<press>清华与北大联合出版</press>
</book>
<book>
<name>java软件编程</name>
<author>王</author>
<price>18</price>
<press>清华与北大联合出版</press>
</book>
</books>
原文链接:https://www.f2er.com/xml/297912.html