PHPEye开源社区 » PHP周边技术讨论区 » 用DOM操作XML时不能使用外部DTD的问题
《Programming PHP》第二版上市
2007-8-20 17:10 caoxk
用DOM操作XML时不能使用外部DTD的问题

XML内容如下:
[code]
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Client [
          <!ELEMENT Client (Accounts)*>
          <!ATTLIST Client
                        ThisId CDATA #REQUIRED
                        ThisAccounts CDATA #REQUIRED
          >
          <!ELEMENT Accounts (Group, Tag)>
          <!ATTLIST Accounts
                        Id ID #REQUIRED
                        Email CDATA #REQUIRED
          >
          <!ELEMENT Group (#PCDATA)>
          <!ELEMENT Tag (#PCDATA)>
]>
<Client ThisId="2" ThisAccounts="abc@163.com">
    <Accounts Id="a1" Email="abc@gmail.com">
                <Group>0</Group>
                <Tag>自定义名称1</Tag>
        </Accounts>
        <Accounts Id="a2" Email="abc@126.com">
                <Group>0</Group>
                <Tag>自定义名称2</Tag>
        </Accounts>
</Client>
[/code]
我用DOM Functions操作XML文件,如果把内部DTD换成外部DTD加载就会出错,用内部DTD没问题,请问这是因为什么呢?
弄了一天了都弄不明白,只有求教了。
另外DOM Functions是否支持schema方式定义XML文档?

2007-8-20 21:42 cid73
你是怎么加载外部 DTD 的?

[url=http://www.phpeye.com/phpmanual/function.dom-domdocument-schemavalidate.html]DOMDocument->schemaValidate()[/url]
[url=http://www.phpeye.com/phpmanual/function.dom-domdocument-schemavalidatesource.html]DOMDocument->schemaValidateSource()[/url]

页: [1]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.