Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.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 如何强制xmlspy代码在元素上写出限定的名称空间?_Java_Xml_Xmlspy_Altova - Fatal编程技术网

Java 如何强制xmlspy代码在元素上写出限定的名称空间?

Java 如何强制xmlspy代码在元素上写出限定的名称空间?,java,xml,xmlspy,altova,Java,Xml,Xmlspy,Altova,我使用XmlSpy 2013从模式生成Java程序代码。我的应用程序基本上从文件中读入xml,修改xml,然后将其写回文件。生成的代码提供了执行加载的类和函数: sampleSchema2 doc = sampleSchema2.loadFromFile(filePath); // Load the file into Java objects... 要将文件写回,请执行以下操作: sampleSchema2 sampleDoc = sampleSchema2.createDocument()

我使用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>
<?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>

S003

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

<?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>
<?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>

S003


有人知道如何让xmlspy限定文档上的名称空间,使它们看起来像我在文档中读取它们的方式吗?感谢您的帮助。

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

谢谢联系我们

恐怕目前还不可能控制这种情况 生成的代码中的命名空间前缀

我会将您的信息转发给我们的开发团队,以备将来使用 考虑

致以最良好的祝愿

Mxxxxxxxx Kxxxxx
支持工程师
阿尔托瓦股份有限公司


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

谢谢联系我们

恐怕目前还不可能控制这种情况 生成的代码中的命名空间前缀

我会将您的信息转发给我们的开发团队,以备将来使用 考虑

致以最良好的祝愿

Mxxxxxxxx Kxxxxx
支持工程师
阿尔托瓦股份有限公司