Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将xml元素设置为可选?(使用TrangXML->;xsd转换器)_Java_Xml_Xsd - Fatal编程技术网

Java 如何将xml元素设置为可选?(使用TrangXML->;xsd转换器)

Java 如何将xml元素设置为可选?(使用TrangXML->;xsd转换器),java,xml,xsd,Java,Xml,Xsd,我试图验证从用户那里得到的xml。我提出了一个带有空值的xml格式的参数列表(可能会时不时地更改)。用户应填写值并上传。然后我应该验证上传的xml并将值保存在db(Mongodb)中 我试图从xml文件生成xsd。它可以工作,但我不知道如何指定用户可以将其中一些参数保留为无值 我读了一些关于在xsd中使用的nillable=true或minoccurs=0的内容,但是,我不想手动修改生成的xsd。有更好的解决办法吗?如果trang无法实现,您建议使用哪种转换器?(我使用java)使用trang将

我试图验证从用户那里得到的xml。我提出了一个带有空值的xml格式的参数列表(可能会时不时地更改)。用户应填写值并上传。然后我应该验证上传的xml并将值保存在db(Mongodb)中

我试图从xml文件生成xsd。它可以工作,但我不知道如何指定用户可以将其中一些参数保留为无值


我读了一些关于在xsd中使用的nillable=true或minoccurs=0的内容,但是,我不想手动修改生成的xsd。有更好的解决办法吗?如果trang无法实现,您建议使用哪种转换器?(我使用java)

使用trang将xml元素设置为可选:

你没有。要使其正常工作,您需要“阅读我的想法”说明

trang允许您设置xsd的批量内容。您应该调整生成的xsd,以正确编码您的业务逻辑。就是,;使用trang完成批量样板文件。编辑以在xsd中获取trang不可能知道的详细信息

你说:

我提出了一个带有空值的xml格式的参数列表(可能会时不时地更改)

xsd最好能很好地匹配该参数列表。如果更新参数,则更新xsd

我自己也用过庄。我建议的步骤:

  • 在模板和用户输出上使用trang

  • 手动或使用“XML复制编辑器”等编辑器编辑生成的xsd

  • 验证它对用户输入的主体起作用,根据需要进行编辑。(创建单元测试。)

  • 如果参数更改,请根据需要将xsd编辑为。如果大参数改变,使用trang输出的子集修改xsd


  • 如果您的参数没有改变-xsd不会改变。如果要更改每个用户输入的xsd。。。你做错了。

    你在找这个吗?不是真的。在这个链接中,它展示了如何更改xsd以使元素成为可选的。但是,我不喜欢手动更改它,因为我使用trang生成xsd。我的问题是,在trang或其他转换器中是否可能?