gpt4 book ai didi

java - 如何强制 xmlspy 代码在元素上写出合格的 namespace ?

转载 作者:太空宇宙 更新时间:2023-11-04 07:32:43 25 4
gpt4 key购买 nike

我使用 XmlSpy 2013 从架构生成 Java 程序代码。我的应用程序基本上从文件中读取 xml,修改 xml,然后将其写回到文件中。生成的代码提供了用于执行加载的类和函数:

sampleSchema2 doc = sampleSchema2.loadFromFile(filePath);
// Load the file into Java objects...

并将文件写回:

sampleSchema2 sampleDoc = sampleSchema2.createDocument();
// Populate the doc from the modified Java objects...
sampleDoc.saveToFile(path, true);

我用来生成代码的架构具有以下属性:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:bfrs="http://www.example.com/schema/bfrs" xmlns:cnc="http://www.example.com/schema/cnc" targetNamespace="http://www.example.com/schema/cnc" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2006/05/30" xml:lang="en">

我读到的 xml 文件对元素使用限定的命名空间,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<cnc:cnc versionNumber="v.2.2.1" versionDate="2012-04-03" xsi:schemaLocation="http://www.example.com/schema/cnc exampleSchema.xsd" xmlns:cnc="http://www.example.com/schema/cnc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<cnc:Revisions>
<cnc:Revision>S003</cnc:Revision>
</cnc:Revisions>

...

但是当我如上所述使用 saveToFile() 再次写出文件后,所有限定的命名空间都会从元素中删除,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<cnc versionNumber="v.2.2.1" versionDate="2012-04-03" xmlns:cnc="http://www.example.com/schema/cnc">
<Revisions>
<Revision>S003</Revision>
</Revisions>

...

有谁知道如何让 xmlspy 限定文档上的命名空间,以便它们看起来像我读入它们的方式?感谢您的帮助。

最佳答案

事实证明,根据 Altova 技术支持的回复,使用 Altova 生成的代码目前是不可能的:

Thanks for contacting us.

I'm afraid that it's currently not presently possible to control the namespace prefix in the generated code.

I'll forward your message on to our development team for future consideration.

Best regards,

Mxxxxxxxx Kxxxxx
Support Engineer
Altova GmbH

关于java - 如何强制 xmlspy 代码在元素上写出合格的 namespace ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17453504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com