我有一个具有以下方案结构的xml
<asp:GridView ID="gvMyObjects" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" CssClass="GridView" AutoPostBack="False" AutoGenerateColumns="False" >
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:TemplateField>
<ItemTemplate>
<button class="myBtn" id="Button1" type="button" data-toggle="modal" data-target="#myModal" runat="server" ><span>Select</span></button>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ID" >
<ItemTemplate>
<asp:Label ID="ObjectID" runat="server" margin-Left="100px" ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:Label ID="ObjectName" runat="server" margin-Left="100px" '></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Value2">
<ItemTemplate>
<asp:TextBox ID="ObjectValue" runat="server" margin-Left="100px" MaxLength='<%# Bind("Something") %>' ></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Value">
<ItemTemplate>
<asp:Label ID="ObjectLenghtValue" runat="server" margin-Left="100px" ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我需要将其重组为
<test>
<testcase classname="TestsQuarantine.CreateUsers" name="Administrator"/>
<testcase classname="TestsQuarantine.Login" name="documentMailQuarantine"/>
<testcase classname="TestsClerk.CreateUsers" name="John"/>
</test>
这时,我正在读取文件到NodeList,对其进行遍历,创建新的根目录,并尝试使用原始文件进行切换,以实现所需的结构,但出现以下错误
HIERARCHY_REQUEST_ERR:尝试在其上插入节点 不允许。
发生在执行根切换的过程中,我不知道为什么会这样。这是我的代码:
<test>
<testsuite name="Quarantine">
<testcase classname="TestsQuarantine.CreateUsers" name="Administrator"/>
<testcase classname="TestsQuarantine.Login" name="documentMailQuarantine"/>
</testsuite>
<testsuite name="Clerk">
<testcase classname="TestsClerk.CreateUsers" name="John"/>
</testsuite>
</test>
要使其正常运行,我需要更改什么?
答案 0 :(得分:0)
您在测试用例节点上的迭代不正确。我将该片段更改为以下片段,您的代码正在运行:
Node testNode = doc.getDocumentElement();
NodeList testCases= testNode.getChildNodes();
for(int i=0; i < testCases.getLength(); i++) {
Node n = testCases.item(i);
if (!(n instanceof Text)) {
Element testCase = (Element) n;
if (testCase.getAttribute("classname").contains("Clerk")) {
clerk.add(testCase);
} else if (testCase.getAttribute("classname").contains("Quarantine")) {
quara.add(testCase);
} else {
misc.add(testCase);
}
}
}