Во второй половине дня.Я пытаюсь проанализировать метаданные из и XSD файла.Я хотел бы проанализировать метаданные из всех тегов элемента, для каждого из родительских тегов.Например, для тега Speed_Detail
ниже я хотел бы собрать все данные, связанные с дочерними атрибутами element
.Предположим, родители находятся на одном уровне.
`` `
<xsd:element name="SpeedDetails">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Header" type="global:HeaderInfoType"/>
<xsd:element name="SpeedUnitOfMeasure" type="xsd:string" minOccurs="0"/>
<xsd:element name="TileId" type="xsd:long" minOccurs="0"/>
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:element name="Route" type="speed:RouteType"></xsd:element>
</xsd:sequence>
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:element name="Segment" type="speed:SegmentType"></xsd:element>
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
` ``
Я знаю, что могу получить доступ ко всем элементам через "//{ns}element".format(ns)
, но это дает все элементы во всем дереве.
Я пытался собрать элементы с чем-то вроде ".[@name='{}']*/{}element".format(name,ns)
.Я не могу заставить xpath работать, потому что я продолжаю получать invalid predicate error
.Может кто-нибудь объяснить, почему это так?А как бы вы написали правильный xpath?Пожалуйста, добавьте ваш прецесс мысли.