-1
:更新时间:导入复杂的XML到Excel 2016
我试图导入从在线源XML文件到Excel 2016,其工作正常,但响应被限制为200条记录,我想创建一个表,并用多个请求填充数据。我工作的响应数据示例如下: -
<?xml version="1.0" encoding="UTF-8"?>
<response uri="/crm/private/xml/Products/getRecords">
<result>
<Products>
<row no="1">
<FL val="PRODUCTID">1250447000004184129</FL>
<FL val="Product Code">
<![CDATA[
1321321321321321
]]>
</FL>
</row>
我现在有以下VB代码(与其他线程的帮助不大),但我在一个小区获得所有的值一起,我似乎不能将产品代码记录分成单独的行?
Sub XMLfromPPTExample2()
Dim XDoc As MSXML2.DOMDocument60
Dim xProducts As MSXML2.IXMLDOMNode
Dim xrow As MSXML2.IXMLDOMNode
Dim xChild As MSXML2.IXMLDOMNode
Dim wb As Workbook
Dim Col As Integer
Dim Row As Integer
Set XDoc = New MSXML2.DOMDocument60
XDoc.async = False
XDoc.validateOnParse = False
XDoc.Load ("xml")
LoadOption = xlXmlLoadImportToList
Set xProducts = XDoc.DocumentElement
Set xrow =
xProducts.SelectSingleNode("/response/result/Products/row/FL[val='Product
Code']")
Col = 1
Row = 1
For Each xrow In xProducts.ChildNodes
Row = 1
For Each xChild In xrow.ChildNodes
Worksheets("Sheet2").Cells(Col, Row).Value = xChild.Text
Row = Row + 1
Next xChild
Next xrow
End Sub
它看起来像你有一个杰森你xml。杰森的反序列化可能会更好。 – jdweng
@jdweng - 那不是json,它是一个CDATA XML部分。 –
是的,它是我试图加载在一个列中的xml,但此时我将FL PRODUCTID和单价与导入时创建的默认模式列在同一列中似乎无法识别差异阅读一些其他职位,这听起来像一个循环的VBA代码会做的伎俩。 –