@@ -76,11 +76,11 @@ def nodeval(node: minidom.Element, name: str) -> str | None:
7676
7777
7878class DomDocument :
79- def __init__ (self , dom : minidom .Document ):
80- self ._node = dom
81-
8279 _node : minidom .Document | minidom .Element
8380
81+ def __init__ (self , dom : minidom .Document ) -> None :
82+ self ._node = dom
83+
8484 def find_first_by_tag (self , tag : str ) -> DomNode | None :
8585 return self .find_nth_by_tag (tag , 0 )
8686
@@ -105,7 +105,9 @@ def find_by_tag(self, tag: str) -> list[DomNode]:
105105
106106 @property
107107 def children (self ) -> list [DomNode ]:
108- return [DomNode (x ) for x in self ._node .childNodes ]
108+ return [
109+ DomNode (x ) for x in self ._node .childNodes if isinstance (x , minidom .Element )
110+ ]
109111
110112 @property
111113 def get_unique_child (self ) -> DomNode :
@@ -120,7 +122,7 @@ def toxml(self) -> str:
120122class DomNode (DomDocument ):
121123 _node : minidom .Element
122124
123- def __init__ (self , dom : minidom .Element ):
125+ def __init__ (self , dom : minidom .Element ) -> None :
124126 self ._node = dom
125127
126128 def __repr__ (self ) -> str :
@@ -129,7 +131,7 @@ def __repr__(self) -> str:
129131 def __getitem__ (self , key : str ) -> str :
130132 node = self ._node .getAttributeNode (key )
131133 if node is not None :
132- return cast ( str , node .value )
134+ return node .value
133135 else :
134136 raise KeyError (key )
135137
@@ -139,7 +141,9 @@ def assert_attr(self, **kwargs: object) -> None:
139141
140142 @property
141143 def text (self ) -> str :
142- return cast (str , self ._node .childNodes [0 ].wholeText )
144+ text = self ._node .childNodes [0 ]
145+ assert isinstance (text , minidom .Text )
146+ return text .wholeText
143147
144148 @property
145149 def tag (self ) -> str :
0 commit comments