필자는 필자가 VB 2010의 System.XML 측면에 대해 더 많이 알아 봤습니다. 필드 친구들이 사용하는 장비로 생성 된 특정 XML 파일을 파싱 할 때, 태그 이름과 내부 텍스트를 추출합니다. 그게 실제로 문제는 아니지만 결과를 텍스트 상자에 약간 형식화 된 방식으로 표시하려면 각 하위 노드의 자손 수준을 결정해야합니다. 예를 들어, 아래의 XML 코드에서 :VB 2010 XML - 자손 수준을 결정하는 방법
<document>
<PointRecord ID="00000050" TimeStamp="2017-03-03T09:39:54">
<Name>WF2510</Name>
<Code>EOC RECT 6/</Code>
<Method>StaticObservation</Method>
<Classification>Normal</Classification>
<Deleted>false</Deleted>
<ECEFDeltas>
<DeltaX>
<Value>-14179.040909261</Value>
<InTolerance>True</InTolerance>
</DeltaX>
<DeltaY>
<Value>-3572.6636230592</Value>
<InTolerance>True</InTolerance>
</DeltaY>
<DeltaZ>
<Value>-8319.8607607852</Value>
<InTolerance>False</InTolerance>
</DeltaZ>
</ECEFDeltas>
</PointRecord>
</Document>
나는 다음과 같이 중심이 아닌 XML에 대한보다 읽기 쉬운 형식으로 제시 노드 이름 및 내부 텍스트를 추출하고 싶습니다 :
Point Record ID: 00000050 Time Stamp: 2017-03-03 09:39:54
Name: WF2510
Code: EOC RECT 6
Method: StaticObservation
Classification: Normal
Deleted: False
ECFDeltas-
DeltaX: -14179.040909261 In Tolerance: Yes
DeltaY: -3572.6636230592 In Tolerance: Yes
DeltaZ: -8319.8607607852 In Tolerance: No
내가 겪고있는 문제는 각 하위 노드의 하위 노드에서 이름과 값을 들여 쓰거나 두 개의 공백, 네 개의 공백을 넣을 때를 알기 위해 하위 수준의 각 노드에 포함 된 결과를 그룹화하는 방법을 아는 것입니다 등등. 나는 각 노드의 자손 수준을 나타내는 정수 값을 찾으려고 노력하지만 운이 없다.
누군가 도움을 줄 수 있습니까?
감사합니다.
xml 문서는 사용 가능한 노드의 좋은 예입니까? 아니면 더 많거나 적은 노드 및 하위 수준이있을 수 있습니까? – djv
파일에는 수백 개의 노드가 있지만 특정 속성을 가진 노드 만 선택하고 있습니다. 그러나 이러한 노드에는 여러 수준의 자손이 있으므로 자손 수준은 형제에서 형제까지 다양합니다. 나는 현재 접근하고있어 중첩 된 'for-each'루프가 가능한 한 많은 레벨까지 드릴 다운 할 수 있지만, 얼마나 멀리 드릴링하고 드릴링을 멈추는지를 아는 것은 어렵습니다. 즉, 중첩 할 정도. 관심을 가져 주셔서 감사합니다. 나는 이것을 올바르게 설명하기를 바랍니다. –
xml을 읽으려면 어떤 기술을 사용하고 있는지 잘 모르겠습니다. 나는 많은 XML 문서를 사용하지만, 항상 표준 모델을 따른다. 내가 제공 한 모델을 기반으로 답변을 게시하겠습니다. 그것은 당신을 위해 효과가있을 수도 있고 안될 수도 있습니다 (하지만 당신의 요구에 따라 더 많은 모델을 생성 할 수 있습니다). 내 대답을 보라. – djv