- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要的结果是直接在 oracle 中从 XML 生成 XSD 文件
我在 PL/SQL 过程中使用 SQL 查询从表生成 XMLType。
使用该 XMLtype,然后我执行 .GetClobVal() 并返回我当前复制到以下在线工具中的 clob 版本 http://www.freeformatter.com/xsd-generator.html然后我能够从中生成 XSD。
我知道这个 XSD 并不完美,也不会完全达到我想要的效果,但它已经非常接近了。
我想知道是否有人知道Oracle中有一个可以做到这一点的工具,我只能找到generating XSD from an Oracle type ,但在这种情况下我不使用 Oracle 类型,因此请不要建议使用它。
这是我用来创建 xml 的代码示例
With Accounts As ( Select XMLAgg(
XMLElement("AccountDetail",
XMLForest(1234 || Level As "UID",
'Test' || Level As "Name"))) As xmlData,
Count(*) as dataCount
From Dual
Connect By Level <= 2
)
Select XMLElement("GetAccountDataResponse",
XMLElement("ResponseInfo",
XMLElement("Code", 'Success'),
XMLElement("Message", 'Normal Successful Completion'),
XMLElement("DebugInfo",
XMLElement("DBVersion", 'V01.01.00'))),
Accounts.xmlData
).GetClobVal()
From Accounts;
这是 XML 示例:
<GetAccountDataResponse>
<ResponseInfo>
<Code>Success</Code>
<Message>Normal Successful Completion</Message>
<DebugInfo>
<DBVersion>V01.01.00</DBVersion>
</DebugInfo>
</ResponseInfo>
<AccountDetail>
<UID>12341</UID>
<Name>Test1</Name>
</AccountDetail>
<AccountDetail>
<UID>12342</UID>
<Name>Test2</Name>
</AccountDetail>
</GetAccountDataResponse>
当您将代码复制到我之前提到的 xsd-generator 时,您会得到以下输出:
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="GetAccountDataResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="ResponseInfo">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="Code"/>
<xs:element type="xs:string" name="Message"/>
<xs:element name="DebugInfo">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:string" name="DBVersion"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="AccountDetail" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element type="xs:short" name="UID"/>
<xs:element type="xs:string" name="Name"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
这非常接近,并且允许我在 PL/SQL 等中将 type="xs:short"替换为 type="xs:int"以获得我想要的输出。
如果有一个 JAVA 程序可以做到这一点,我也会很高兴,因为 Oracle 本身支持运行 JAVA
最佳答案
没有可以从 XML 生成 XSD 的 Oracle 工具。
您可以尝试这个 Apache XMLBeans inst2xsd 工具:http://xmlbeans.apache.org/docs/2.0.0/guide/tools.html#inst2xsd
关于java - 在 Oracle PL/SQL 中使用 xmltype 从 XML 生成 XSD 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39135374/
我在将 xmltype 插入 pl/sql 指定位置的另一个 xmltype 时遇到问题。 第一个变量 v_xml 的形式为: 123 01-01-2015 第二个 v
我将 Oracle DB 中的 XMLType 文件加载到 Java 应用程序中。我准备了一个类来处理 XML 文件上的操作,如下所示: public class XMLDoc { private O
我有以下用 XmlType 属性装饰的基类 [Serializable] [XmlType("Base")] public class Base { [XmlElement(ElementNa
我有一个将 XML 存储在 Oracle 表中的应用程序 XMLType .我想对该数据进行全文搜索。 Oracle 文档,位于 Full-Text Search Over XML Data , 建议
我正在尝试输出 schemaLocation编码 xjc 时正确属性- 生成的类实例。根元素类如下所示: @XmlAccessorType(XmlAccessType.FIELD) @XmlType(
我向 Oracle XML DB 专家提出了一个简短的问题: 我测量了几个大型xml文件的插入性能。理论上XMLType CLOB应该具有无与伦比的插入性能,因为插入的XML文档是直接写在一个字符大对
这是我目前使用的代码: SET serveroutput ON CREATE OR REPLACE PROCEDURE test_proc(i_xml varchar2) IS l_name VARC
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 8年前关闭。 Improve this qu
我有一个简单的查询: WITH xtbl AS ( SELECT XMLTYPE ('1') AS xcol FROM DUAL ) SELECT XMLQUERY ('copy $tmp
我目前拥有非 utf-8 数据库,但我需要使用 utf-8 编码生成 XMLType 变量。我有一个解决方法,但 Oracle 中似乎存在错误,请参见以下链接: https://forums.orac
我想从 中选择数据XML 文件使用 Oracle SQL . 这是我的 XML 文件: 0
我有一个包含 XMLType 字段的表。该表是使用以下 DDL/DML 创建和加载的: CREATE TABLE T_ECO_test_LOG ( SECID NUMBER
在 java 中我想使用 oracle XMLType。我加了 XMLType type = new XMLType(conn, ""); 但我总是得到 Caused by: java.lang.Cl
我正在尝试将java字符串对象存储在javabean中,并尝试将其转换为xml格式。它存储成功,但每当我尝试从java bean获取数据时,我都会以简单字符串格式而不是xml格式收到数据。 请帮助我。
您好,序列化过程中这一行是什么意思? [XmlType(AnonymousType = true)] public class classname { } xsd.exe 为所有类生成它。我阅读了文档
是否可以将 javax.xml.bind.annotation.XmlType 转换为 XML 的字符串表示形式? 例子: 以下 Req 类来自第三方库,因此我无法覆盖 toString() 方法。
我有一个像这样的简单 xml: 0 Date @Today 1 Id 22 我想遍历每个参数,如果值以“@”开头,则调用一个函数,该函数将值作为参数并返回一
我想在 XML 文档上有一个 select 语句,其中一列应该返回我的每个节点的路径。 例如给定数据 SELECT * FROM TABLE(XMLSequence( XMLTYPE('
我正在做一项作业,我要考虑两种解决方案来存储网页中使用的文本。场景:一个类一个网页,一门课几堂课。 第一个选择是普通的关系型数据库,这个可以。 另一种选择是具有两个“正常”属性和一个具有 Oracle
作为尝试学习 WCF 的一部分,我正在阅读有关序列化的内容。我正在努力了解如何在 .NET 3.5 中控制序列化。例如,我有一个带有一些公共(public)属性的简单类。通过将 DataContrac
我是一名优秀的程序员,十分优秀!