两个XML文件格式内容都一样(至少我没看出来什么地方相异),一个可以被软件认定为合法,
另一个认为不合法。为什么呢?
有什么办法可以找出不合法的具体内部位置(比如某个语句处)?

解决方案 »

  1.   

    XML内容如下。<?xml version="1.0" encoding="UTF-8"?>
    <schemas>
        <class n ="rRevision">
          <case id = "1">
           <normal>
             <attr n = "LeftClass" ></attr>
             <attr n = "RightClass" ></attr>
             <attr n = "UUID_L" >96626b00-3aa6-11e1-8000-5dfc00005cfc</attr>
             <attr n = "UUID_R" >a5f4c6d0-3aa6-11e1-8000-59d6000058d6</attr>
             <attr n = "UUID" >cb52cf30-2f70-11e1-8000-7b2900007b29</attr>
             <attr n = "Owner" >The Great Wall</attr>
             <attr n = "Creator" >Chinese</attr>
             <attr n = "CreateTime" >2011-12-26 11:42</attr>
             <attr n = "ModifyTime" >2012-01-5 10:42</attr>
             <attr n = "HANDLE" >Admin01</attr>
            </normal>
          </case>
          <case id = "2">
           <normal>
             <attr n = "LeftClass" ></attr>
             <attr n = "RightClass" ></attr>
             <attr n = "UUID_L" >96626b01-3aa6-11e1-8000-5dfc00005cfc</attr>
             <attr n = "UUID_R" >a5f4c6d1-3aa6-11e1-8000-59d6000058d6</attr>
             <attr n = "UUID" >cb52cf31-2f70-11e1-8000-7b2900007b29</attr>
             <attr n = "Owner" >ABS</attr>
             <attr n = "Creator" >American</attr>
             <attr n = "CreateTime" >2011 12 27 11:43</attr>
             <attr n = "ModifyTime" >20120106 10:43</attr>
             <attr n = "HANDLE" >Admin02</attr>
            </normal>
          </case>
          <case id = "3">
           <normal>
             <attr n = "LeftClass" ></attr>
             <attr n = "RightClass" ></attr>
             <attr n = "UUID_L" >96626b02-3aa6-11e1-8000-5dfc00005cfc</attr>
             <attr n = "UUID_R" >a5f4c6d2-3aa6-11e1-8000-59d6000058d6</attr>
             <attr n = "UUID" >cb52cf32-2f70-11e1-8000-7b2900007b29</attr>
             <attr n = "Owner" >DNV</attr>
             <attr n = "Creator" >Norway</attr>
             <attr n = "CreateTime" >2011/12/27 11:44</attr>
             <attr n = "ModifyTime" >2012 01 7 10:44</attr>
             <attr n = "HANDLE" >Adm汉字</attr>
          </case>
        </class>
        <class n ="Material">
          <case id = "1">
           <normal>
             <attr n = "Name" >HP220*10/EH36</attr>
             <attr n = "SN" >289a30a0-3b58-11e1-8000-5ffb00005efb</attr>
             <attr n = "Unit" >COSCO_01</attr>
             <attr n = "HasSuccessor" >+</attr>
             <attr n = "IsCheckOutLocked" >+</attr>
             <attr n = "CheckOutUserID" >3a04a7d0-3b58-11e1-8000-67ac000066ac-b04a7d2-3b58-11e1-8000-67ac000066ac</attr>
             <attr n = "UUID" >d52bdb50-3a88-11e1-8000-3b7b00003a7b</attr>
             <attr n = "Owner" >The Great Wall</attr>
             <attr n = "Creator" >Chinese</attr>
             <attr n = "CreateTime" >2011-12-26 11:42</attr>
             <attr n = "ModifyTime" >2012-01-5 10:42</attr>
            </normal>
          </case>
          <case id = "2">
           <normal>
             <attr n = "Name" >HP220*10/EH36HP220*10/EH36HP220*10/EH36HP220*10/EH36HP220*10/EH36AXZ</attr>
             <attr n = "SN" >289a30a1-3b58-11e1-8000-5ffb00005efb</attr>
             <attr n = "Unit" >COSCO_02</attr>
             <attr n = "HasSuccessor" >+</attr>
             <attr n = "IsCheckOutLocked" >+</attr>
             <attr n = "CheckOutUserID" >3a04a7d0-3b58-11e1-8000-67ac000066ac-b04a7d2-3b5</attr>
             <attr n = "UUID" >d52bdb51-3a88-11e1-8000-3b7b00003a7b</attr>
             <attr n = "Owner" >ABS</attr>
             <attr n = "Creator" >American</attr>
             <attr n = "CreateTime" >2011 12 27 11:43</attr>
             <attr n = "ModifyTime" >20120106 10:43</attr>
            </normal>
          </case>
          <case id = "3">
           <normal>
             <attr n = "Name" >HP220*10/EH36HP220*10/EH36HP220*10/EH36HP220*10/EH36HP220*10/EH36AXZ</attr>
             <attr n = "SN" >289a30a1-3b58-11e1-8000-5ffb00005efb</attr>
             <attr n = "Unit" >COSCO_02</attr>
             <attr n = "HasSuccessor" >+</attr>
             <attr n = "IsCheckOutLocked" >+</attr>
             <attr n = "CheckOutUserID" >3a04a7d0-3b58-11e1-8000-67ac000066ac-b04a7d2-3b5</attr>
             <attr n = "UUID" >d52bdb51-3a88-11e1-8000-3b7b00003a7b</attr>
             <attr n = "Owner" >ABS</attr>
             <attr n = "Creator" >American</attr>
             <attr n = "CreateTime" >2011 12 27 11:43</attr>
             <attr n = "ModifyTime" >20120106 10:43</attr>
            </normal>
          </case>
        </class>
     </schemas>
      

  2.   

    找出原因所在了,是汉字的问题。
    如果<attr n = "HANDLE" >Adm汉字</attr>
    这样的属性语句中出现汉字或者特殊字符“&”,将不被认定是合法的XML文件。