XML验证错误。我想知道哪个部分不正确?

时间:2011-06-28 22:32:35

标签: xml

<?xml version="1.0" ?>
<!--
Superstar Movies: Catalog of Movie and Actor Info.
Author: Randy White
Date:   6/28/2011

Filename:         catalog.xml
-->

<!DOCTYPE catalog SYSTEM "catalog.dtd">

<catalog>
<movie movieID="m0100" genre="drama">
    <title>Monster&apos;s Ball</title>
<year>2001</year>
<length>111 minutes</length>
<topBilledActors actorIDs="a0100 a0102" />
</movie>

<actor actorID="a0100" oscarWinner="yes">
    <name>Halle Berry</name>
<date>August 14, 1966</date>
<birthplace>Cleveland, Ohio</birthplace>
<role character="Leticia Musgrove" movie="m0100" />
<role character="Storm" movie="m0101" />
</actor>

<actor actorID="a0102" oscarWinner="yes">
    <name>Billy Bob Thornton</name>
<role character="Hank Grotowski" movie="m0100" />
</actor>

<movie movieID="m0101" genre="fantasy">
    <title>X-Men</title>
<year>2000</year>
<length>104 minutes</length>
<topBilledActors actorIDs="a0100 a0103" />
</movie>

<actor actorID="a0103" oscarWinner="no">
    <name>Ian McKellen</name>
<role character="Magneto" movie="m0101" />
<role character="Gandolf" movie="m0105" />
<role character="Gandolf" movie="m0107" />
</actor>

<movie movieID="m0105" genre="action" earningsRank="17">
    <name>Lord of the Rings: The Fellowship of the Ring</name>
<date>2001</date>
<length>178 minutes</length>
<topBilledActors actorIDs="a0103" />
</movie>

<movie movieID="m0107" genre="action" earningsRank="8">
    <name>Lord of the Rings: The Return of the King</name>
<date>2003</date>
<length>201 minutes</length>
<topBilledActors actorIDs="a0103" />
</movie>

<actor actorID="a0101" oscarWinner="yes">
<name>Tom Hanks</name>
<date>July 9, 1956</date>
<birthplace>Concord, California</birthplace>
<role character="Captain John H. Miller" movie="m0102" />
<role character="Forrest Gump" movie="m0103" />
<role character="Andrew Beckett" movie="m0104" />
</actor>

<movie movieID="m0102" genre="action" earningsRank="50">
    <name>Saving Private Ryan</name>
<date>1998</date>
<length>170 minutes</length>
<topBilledActors actorIDs="a0101 a0104" />
</movie>

<actor actorID="a0104" oscarWinner="yes">
    <name>Matt Damon</name>
<date>October 8, 1970</date>
<birthplace>Cambridge, Massachusetts</birthplace>
<role character="Private James Francis Ryan" movie="m0102" />
</actor>

<movie movieID="m0103" genre="comedy" earningsRank="14">
    <name>Forrest Gump</name>
<date>1994</date>
<length>142 minutes</length>
<topBilledActors actorIDs="a0101 a0105 a0106" />
</movie>

<actor actorID="a0105" oscarWinner="yes">
    <name>Sally Field</name>
<birthplace>Pasadena, California</birthplace>
<role character="Mrs. Gump" movie="m0103" />
</actor>

<actor actorID="a0106">
    <name>Gary Sinise</name>
<role character="Lt. Dan Taylor" movie="m0103" />
<role character="Ken Mattingly" movie="m0106" />
</actor>

<movie movieID="m0104" genre="drama">
    <name>Philadelphia</name>
<date>1993</date>
<length>125 minutes</length>
<topBilledActors actorIDs="a0101 a0107" />
</movie>

<movie movieID="m0106" genre="drama">
    <name>Apollo 13</name>
<date>1995</date>
<length>140 minutes</length>
<topBilledActors actorIDs="a0101 a0106" />
</movie>

<actor actorID="a0107" oscarWinner="yes">
    <name>Denzel Washington</name>
<role character="Joe Miller" movie="m0104" />
</actor>

以下是我得到的错误:

File C:\Users\Randy\Documents\XML\Week3\Solution Files\catalog.xml     is not valid.
Content model of element 'movie' disallows element 'name' at this position.
    Error location: catalog / movie / name
    Details
        VC: Element Valid: Content model of element 'movie' disallows element 'name' at this position.

4 个答案:

答案 0 :(得分:2)

也许你需要使用标题而不是名字?试试这个,如果不能解决错误,你可以发布DTD吗?

答案 1 :(得分:1)

开始:尝试将<catalog>更改为<catalog xml:lang="en"> 并在最后用</catalog>关闭它

答案 2 :(得分:1)

在您使用title的两部首部电影之后,您开始使用name

答案 3 :(得分:1)

在你的XML文件中间的某个地方以“指环王”开头,你可能会意外地将“title”属性替换为“电影”中的“名字”