java—使用xstream反序列化时验证xml的内容

31moq8wy  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(430)

在使用xstream库反序列化时,验证xml内容的最佳方法是什么?

<MessageRequest>  
    <destinationIDs>12345</destinationIDs>  
    <destinationType>Site</destinationType>    
    <messageName>C:\runShell.jsp</messageName>  
    <messageLen>1268</messageLen>
</MessageRequest>

例如,在上面的xml中,如果“messagename”包含任何无效数据,比如文件路径(c:\runshell.jsp),我就不应该处理这个请求。

daupos2t

daupos2t1#

您需要创建一个xsd模式来验证xml中的特定标记。
xsd文件中的标记应包含具有受限字符或模式类型的正则表达式,并且应类似于:

<xs:simpleType name="messageName">   
    <xs:restriction base="xs:string">       
        <xs:pattern value="[^r]*"/>
    </xs:restriction>
</xs:simpleType>
  • 将r替换为要排除的字符。

相关问题