我正在尝试找到一种将 xml 数据解析为 SQL 表的有效方法。
这是我将获得的 XML 的一个小例子,实际上在属性标签内会有大约 20-25 个标签和数百个条目。
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<entry m:etag="W/"28"">
<id>114</id>
<title type="text">Title 1</title>
<updated>2012-07-09T15:02:08+01:00</updated>
<author>
<name />
</author>
<m:properties>
<d:ContentTypeID>456</d:ContentTypeID>
<d:ApproverComments>Correction to Title</d:ApproverComments>
<d:Name>bar.pdf</d:Name>
<d:Title>Title</d:Title>
<d:DocumentOwnerId m:type="Edm.Int32">20</d:DocumentOwnerId>
<d:DocumentControllerId m:type="Edm.Int32" m:null="true"></d:DocumentControllerId>
</m:properties>
</entry>
<entry m:etag="W/"28"">
<id>115</id>
<title type="text">Title 2</title>
<updated>2012-07-09T15:05:35+01:00</updated>
<author>
<name />
</author>
<m:properties>
<d:ContentTypeID>456</d:ContentTypeID>
<d:ApproverComments>Correction of Title2</d:ApproverComments>
<d:Name>foo.pdf</d:Name>
<d:Title>Title 2</d:Title>
<d:DocumentOwnerId m:type="Edm.Int32">20</d:DocumentOwnerId>
</m:properties>
</entry>
我需要查看每个“条目”并提取 m: properties 标记内的所有标记名称,并将它们设置为 SQL 表的列。
我正在寻找一种更有效的方法来执行此操作,而不是必须遍历所有条目的属性标签,然后将标签名称列表放在一起,然后我需要交叉引用以确保获得所有标签名称。
我一直在尝试寻找类似的功能;
String TagNames = XMLDoc.getChildNode('properties').getChildNodeNames()
TagNames 将等于“ContentTypeID、ApproverComments、Name、Title、DocumentOwnerID、DocumentControllerID”
任何帮助将不胜感激。