我有XML文件的这一部分:
event.target.offsetTop
并且我想使用shell终端在“位置”和“ roomZero”之间插入“ xs:element”(因为更改将在许多文件中完成)。
所以,我希望结果是这样的:
<xs:complexType name="NioLocationRequest">
<xs:complexContent>
<xs:extension base="tns:NioRequestBase">
<xs:sequence>
<xs:element name="forceCreation" type="xs:boolean"/>
<xs:element name="location" type="ns1:Location"/>
<xs:element minOccurs="0" name="roomZero" type="ns1:Room"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
有人可以回答吗? 预先感谢!
答案 0 :(得分:1)
使用xsh,您可以写
open file.xml ;
register-namespace xs http://www.w3.org/2001/XMLSchema ;
for //xs:sequence {
my $elem := insert element xs:element after xs:element[@name="location"] ;
set $elem/@name "replyTo" ;
set $elem/@type "xs:string" ;
insert text {"\n "} before $elem ;
}
save :b ;
要使其能够处理多个文件,可以添加一个外循环:
for $file in { glob "*.xml" } {
open $file ;
...
}