Tag: xml parsing

如何使用vba从每个父节点读取子节点并将其写入excel

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <Root Signature="{5DCBAC3B-D39C-497C-9BE8-744CBADD37AA}" NameVersion="4" Cookie="3447"> <LogicalNodes Name="Aliases" Owner="{BE401E45-B2D6-4FBA-931A-C2117D5C51AD}"> <Child0 Name="wndProgman" Owner="{AE704EB6-AD19-45EA-B496-41A5981E8412}"> <Child0 Name="SHELLDLL_DefView" Owner="{610947DD-D55F-4A13-9CA5-E9088894FD86}"> <Child0 Name="FolderView" Owner="{15A15A12-D939-4C0A-8977-BAFAB4D04F43}" /> </Child0> </Child0> <Child1 Name="wndShell_TrayWnd" Owner="{DAE8A331-ACA7-4945-8331-7A11E81306D0}"> <Child0 Name="ReBarWindow32" Owner="{8DD1A6A4-CE21-47EB-B42E-30D5CF347E59}"> <Child0 Name="MSTaskSwWClass" Owner="{94EDC32F-6134-4847-870A-844B98B33ACC}"> <Child0 Name="MSTaskListWClass" Owner="{8816439D-7900-4047-B0C4-22DD7E60729C}" /> </Child0> </Child0> </Child1> </Child0> <Child1 Name="notepad" Owner="{449D4FD4-389C-4BEE-BCC2-8A6EC8BC73AB}"> <Child0 Name="wndNotepad" Owner="{40D93496-0E10-4091-AC8E-9E6E476333FC}"> <Child0 Name="Edit" Owner="{E0844148-8BB1-43B9-914E-4237ABEE2EC4}" /> </Child0> </Child1> <Child2 Name="PorticoVT" Owner="{3EFC33EE-8634-4970-875C-F3BDEA8FA0EB}"> […]

如何在VBA中parsingXML文件

我有以下格式的数据,并在Excel工作表中有类似的数据。 <LegalEntityDataVO> <LegalEntityDataVORow> <Name>Siemens Corporation</Name> <LegalEntityIdentifier>010</LegalEntityIdentifier> <EstablishmentData> <EstablishmentDataVORow> <MainEstablishmentFlag>Y</MainEstablishmentFlag> <Name>Siemens Corporation</Name> <GeographyCode>US</GeographyCode> <RegistrationDataEtb> <RegistrationDataEtbVORow> <SourceTable>XLE_ETB_PROFILES</SourceTable> <Name>United States Income Tax</Name> </RegistrationDataEtbVORow> <RegistrationDataEtbVORow> <SourceTable>XLE_ETB_PROFILES</SourceTable> <Name>United States Federal Tax</Name> </RegistrationDataEtbVORow> </RegistrationDataEtb> </EstablishmentDataVORow> </EstablishmentData> <EstablishmentData> <EstablishmentDataVORow> <MainEstablishmentFlag>Y</MainEstablishmentFlag> <Name>US Corporation</Name> <GeographyCode>US</GeographyCode> <RegistrationDataEtb> <RegistrationDataEtbVORow> <SourceTable>XLE_ETB_PAYBLES</SourceTable> <Name>United States Service Tax</Name> </RegistrationDataEtbVORow> <RegistrationDataEtbVORow> <SourceTable>XLE_ETB_PAYBLES</SourceTable> <Name>United States Oil Tax</Name> </RegistrationDataEtbVORow> </RegistrationDataEtb> </EstablishmentDataVORow> </EstablishmentData> </LegalEntityDataVORow> […]

使用VBAparsingXML

我试图用VBAparsingxml以获得电气testing系统的testing结果。 这是系统给我的一个例子: <Reports> <Report Type='UUT' Title='UUT Report' Link='-1-2013-11-20-10-2-46-867' UUTResult='Failed' StepCount='132'> <Prop Name='UUT' Type='Obj' TypeName='UUT' Flags='0x0'> <Prop Name='SerialNumber' Type='String' Flags='0x0'> <Value>02</Value> </Prop> <Prop Name='PartNumber' Type='String' Flags='0x0'> <Value>1009433</Value> </Prop> <Prop Name='LotNumber' Type='String' Flags='0x0'> <Value>1234567</Value> </Prop> <Prop Name='CriticalFailureStack' Type='Array' LBound='[0]' HBound='[1]' ElementType='Obj' Flags='0x0'> <ArrayElementPrototype Type='Obj' TypeName='NI_CriticalFailureStackEntry' Flags='0x0'> <Prop Name='StepName' Type='String' Flags='0x0'> <Value></Value> </Prop> <Prop Name='SequenceName' Type='String' Flags='0x0'> <Value></Value> […]

在VBA中提取XML节点名称

上下文 在一个Xml文件的例子中,一些数据的格式如下: <A1> <B1> <c1>value</c1> <c2>value</c2> <c3>value</c3> </B1> <B2> <c1>value</c1> <c2>value</c2> <c3>value</c3> </B2> </A1> <A2> <B1> <c1>value</c1> <c2>value</c2> <c3>value</c3> </B1> <B2> <c1>value</c1> <c2>value</c2> <c3>value</c3> </B2> </A2> 我的问题 我需要迭代节点以获得以下结果: A1B1C1 A1B1C2 A1B1C3 A1B2C1 A1B2C2 A1B2C3 我尝试了很多次,但无法得到这个结果,任何人都可以帮助我这个谢谢。

在Excel中导入XML数据

我有一个巨大的XML,我想在Excel中导入。 这是我想要导入的一段XML。 <ROOT> <ELEMENTS> <ELEMENT1> <A>1</A> <B>2</B> <C>3</C> </ELEMENT1> <ELEMENT2> <A>3</A> <B>2</B> <C>1S</C> </ELEMENT2> </ELEMENTS> </ROOT> 当我将这个XML导入Excel时,我将标题看作A , B和C ,但是我没有将ELEMENT1和ELEMENT2作为标题。 我在这里做错了什么? 我的XML结构很好,我得到一个很好的parsingXML。

使用重复元素将XML导入到Excel

我有以下架构: <xs:element name="response"> <xs:complexType> <xs:sequence> <xs:element name="transaction" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="id_number"/> <xs:element type="xs:string" name="first_name"/> <xs:element type="xs:string" name="last_name"/> <xs:element type="xs:string" name="email"/> <xs:element name="custom_field" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute type="xs:string" name="id" use="optional"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="action" maxOccurs="unbounded" minOccurs="1"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="amount"/> <xs:element type="xs:string" name="action_type"/> <xs:element type="xs:string" name="date"/> </xs:sequence> […]

OpenXmlReader不是从一个excel .xlsx表格VB网页中提取所有的单元格内容

OpenXmlReader不从Excel .xlsx表单中提取所有单元格内容 我有一些原来从SO采取的代码,并转换为VBnetworking: 使用OpenXmlReader 我的代码在工作表的前14行循环,没有任何问题,但是不会再find任何单元格。 reader.ElementType似乎查找行 14(如果reader.ElementType是GetType(Row)Then),但没有更多的单元格 (GetType(单元格)) 最后提取的单元格是L14,但是excel文件的单元格内容最多为L29。 源代码: Public Shared Function fncParseXLSXorXLSM(strFileName As String, sbTxtFromFile As StringBuilder) As StringBuilder sbTxtFromFile.Length = 0 Dim intFirst As Integer = 1 Try Using spreadsheetDocument__1 As SpreadsheetDocument = SpreadsheetDocument.Open(strFileName, False) Dim workbookPart As WorkbookPart = spreadsheetDocument__1.WorkbookPart Dim sharedStringItemsArray As SharedStringItem() = workbookPart.SharedStringTablePart.SharedStringTable.Elements(Of SharedStringItem)().ToArray() Dim sheets As DocumentFormat.OpenXml.Spreadsheet.Sheets […]

从XML获取数据

大家好, 对于我的论文,我正在开发一个excel模型,它可以计算从车厂到客户的卡车的距离和旅行时间。 有了这个模型,我们可以创build一个很好的交通运输的基本理解。 我仍然很难从XML文件获取信息,并把它放在Excel中。 我在VBA中创build了以下脚本。 Public Function G_Distance(startGPS As String, eindGPS As String) As Variant 'vervoer As String' Dim vehicletype As String Dim Apikey As String Dim linkAPIkey As String Dim linkstartGPS As String Dim linkendGPS As String Apikey = "&api_key=ee0b8233adff52ce9fd6afc2a2859a28" linkstartGPS = "&start=" & startGPS linkendGPS = "&end=" & eindGPS vehicletype = "&" ''' […]

实体“uuml”被引用,但未声明 – XMLStreamException

试图从SpreadsheetML 2003 (基本上是一个XML)生成XLSX文件。 使用数据库中的CLOB,CLOB包含SpreadsheetML 2003(XML)。 我试图通过STAXparsing器parsingxml,并使用POI API将其写入XLSX文件,但在stax中处理时抛出exception。 注意:使用XML编码UTF-8格式。 例外: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,16706] Message: The entity "uuml" was referenced, but not declared. at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:588) at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.getElementText(XMLStreamReaderImpl.java:845) at com.db.smis.planus.servlet.ServletApp.doProcess(ServletApp.java:224) 示例XML: <?xml version="1.0"? encoding="UTF-8"> <?mso-application progid="Excel.Sheet"?> <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40"> <Row> <Cell ss:StyleID="s29"><Data ss:Type="Number">7662</Data></Cell> <Cell ss:StyleID="s73"><Data ss:Type="String">C. &amp; A. AAAAA &amp; CO. KG</Data></Cell> </Row> <Row> […]

是否有可能跳过Excel VBA中的XML文件中的节点?

对于所有这些XML和VBA,我都是新手。 我诚实地根据我对oop的了解做所有的事情,但是我正在处理的当前项目需要在VBA中完成。 我到处寻找,但找不到,也想不出有什么实际的办法可以做我现在要做的事情,所以如果有可能的话,我在这里请求大家的知识。 所以基本上我有一个这样的XML文件: <a name="something" > <b name="something"> <c> <d>number1</d> <e>number2</e> <f> <g>number3</g> <h>number4</h> </f> </c> </b> </a> 我的问题是我需要在Excel工作表中生成XML的内容。 我知道如何做到这一点,然而,我最终得到的是这样的: 某物 某物 number1 number2 number3 number4 1号 2号 number3 number4 number3的 号码4 我想要的是以某种方式摆脱斜体的行。 我在子程序中使用recursion,因为这是如何需要的。 但是,当我检查子节点和要打印的节点值时,我最终会得到所有子节点以及它们自己没有特定值的节点值。 我知道我可以使用baseName手动跳过节点,但这不是我正在寻找的。 如果有可能使它自己的function或更一般的东西可以适用于这种情况发生,将是很好的。 感谢您的帮助! 编辑:(我现在的代码) Sub Main() Dim XDoc As MSXML2.DOMDocument Set XDoc = New MSXML2.DOMDocument Set mainWorkBook = ActiveWorkbook […]