Asp.net 从以下XML中删除节点。
这是我从Asp.net 从以下XML中删除节点。,asp.net,.net,xml,vb.net,infragistics,Asp.net,.net,Xml,Vb.net,Infragistics,这是我从Infragistics ultrawebtree的WriteXmlString()输出的xml。我正在使用它创建另一个具有相同结构的Infragistics ultrawebtree。但是在这里我不想要something.aspx..。我希望是这样的。因此,我如何才能删除。这是我得到的字符串。所以我使用了Regex.Replace()。但它在某些情况下可以工作,但在某些情况下,它会通过删除一些xml标记来破坏xml,并且xml由于缺少标记而变得无效。 我使用这个表达式\S*来避免Url
Infragistics ultrawebtree
的WriteXmlString()
输出的xml。我正在使用它创建另一个具有相同结构的Infragistics ultrawebtree
。但是在这里我不想要something.aspx..
。我希望是这样的
。因此,我如何才能删除。这是我得到的字符串。所以我使用了Regex.Replace()
。但它在某些情况下可以工作,但在某些情况下,它会通过删除一些xml标记来破坏xml,并且xml由于缺少标记而变得无效。
我使用这个表达式\S*
来避免Url的内容。任何帮助都会很有帮助。提前谢谢
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
- <InfragisticsServerTree XmlVersion="1.0">
- <uwtModule>
- <ProjectProperties>
<ComponentTarget>ClassicTree</ComponentTarget>
<BrowserTarget>Auto</BrowserTarget>
</ProjectProperties>
- <TreeProperties>
<MaxDataBindDepth>-1</MaxDataBindDepth>
<Name>uwtModule</Name>
<Indentation>20</Indentation>
<SubMenuImage>igNone</SubMenuImage>
<LoadOnDemandPrompt>
<b>Loading...</b>
</LoadOnDemandPrompt>
<ExpandAnimation>Decelerate</ExpandAnimation>
<ExpandOnClick>false</ExpandOnClick>
<CompactRendering>false</CompactRendering>
<RenderAnchors>false</RenderAnchors>
- <Style>
<ForeColor>-16777216</ForeColor>
<BorderColor>-4144960</BorderColor>
<BorderStyle>None</BorderStyle>
<BorderWidth>1px</BorderWidth>
- <Font>
<Name>Arial</Name>
- <Names>
<Name>Arial</Name>
</Names>
<Size>11px</Size>
</Font>
<Height>425px</Height>
<Width>97%</Width>
- <Padding>
<Top>5px</Top>
<Left>5px</Left>
<Right>5px</Right>
<Bottom>5px</Bottom>
</Padding>
</Style>
- <SelectedNodeStyle>
<BackColor>-2894893</BackColor>
<ForeColor>-16777216</ForeColor>
- <Padding>
<Top>2px</Top>
<Left>2px</Left>
<Right>2px</Right>
<Bottom>2px</Bottom>
</Padding>
</SelectedNodeStyle>
</TreeProperties>
<Styles />
- <Levels>
- <Level>
<Number>0</Number>
</Level>
</Levels>
- <Nodes>
- <Node>
<Text>123</Text>
<Url>ModuleEdit.aspx?ModuleID=965</Url>
<Target>main</Target>
<Tag>965</Tag>
<Title>AccptChangesPerfPM</Title>
<Expanded>true</Expanded>
- <Nodes>
- <Node>
<Text>111</Text>
<Url>123.aspx?e=965 </Url>
<Target>main</Target>
<Tag>TL_-99999</Tag>
</Node>
- <Node>
<Text>werrv</Text>
<Url>1dfee.aspx?qwe=9er65</Url>
<Target>main</Target>
<Tag>12DDfe</Tag>
</Node>
- <Node>
<Text>q2233</Text>
<Target>main</Target>
<Tag>TL_1015</Tag>
<Title>Topic_1</Title>
<ShowExpand>true</ShowExpand>
- <Nodes>
- <Node>
<Text>T1</Text>
<Url>w3345_954y65.aspx?ID=965er</Url>
<Target>main</Target>
- <Style>
<ForeColor>-16777216</ForeColor>
</Style>
<Tag>82355</Tag>
<Title>T1</Title>
</Node>
- <Node>
<Text>T2</Text>
<Url>23_7811.aspx?ID=3u65</Url>
<Target>main</Target>
- <Style>
<ForeColor>-16777216</ForeColor>
</Style>
<Tag>82356</Tag>
<Title>T2</Title>
</Node>
- <Node>
<Text>T3</Text>
<Url>we456_9.aspx?ID=4r56</Url>
<Target>main</Target>
- <Style>
<ForeColor>-16777216</ForeColor>
</Style>
<Tag>82357</Tag>
<Title>T3</Title>
</Node>
</Nodes>
</Node>
</Nodes>
</Node>
</Nodes>
</uwtModule>
</InfragisticsServerTree>
-
-
-
古典音乐
自动的
-
-1
UWT模块
20
伊格纳
加载。。。
减速
假的
假的
假的
-
-16777216
-4144960
没有一个
1px
-
Arial
-
Arial
11px
425px
97%
-
5px
5px
5px
5px
-
-2894893
-16777216
-
2px
2px
2px
2px
-
-
0
-
-
123
ModuleEdit.aspx?ModuleID=965
主要的
965
AccptChangesPerfPM
真的
-
-
111
123.aspx?e=965
主要的
TL_uu999
-
韦尔夫
1dfee.aspx?qwe=9er65
主要的
12DDfe
-
q2233
主要的
TL_1015
专题1
真的
-
-
T1
w3345_954y65.aspx?ID=965er
主要的
-
-16777216
82355
T1
-
T2
23_7811.aspx?ID=3u65
主要的
-
-16777216
82356
T2
-
T3
we456_9.aspx?ID=4r56
主要的
-
-16777216
82357
T3
我的建议是忽略正则表达式
转到VB的XML类从文件中读取它,
然后使用节点列表和节点
以下是一些让您开始学习的链接:
在上面的链接中,你会发现大量的文档和示例如何打开、编辑、创建和合并
下面是一个如何做你上面要求的事情
但是有一个合理的警告:这是C#你需要使用上面的链接来转换,因为我不是一个VB.Net开发人员
string path = "./"; //your own path
string name = "Tempo"; //filename
XmlDocument f = new XmlDocument();
f.Load(path + name + ".xml");
XmlNodeList a = f.GetElementsByTagName("Url");
for (int i = 0; i < a.Count; i++)
{
a[i].InnerText = "" //This had the data inside <Url>...</Url>
}
f.Save(path+name); //Edited to add the save
string path=“./”//你自己的路
string name=“Tempo”//文件名
XmlDocument f=新的XmlDocument();
f、 加载(路径+名称+“.xml”);
XmlNodeList a=f.GetElementsByTagName(“Url”);
for(int i=0;i
我的建议是忽略正则表达式
转到VB的XML类从文件中读取它,
然后使用节点列表和节点
以下是一些让您开始学习的链接:
在上面的链接中,你会发现大量的文档和示例如何打开、编辑、创建和合并
下面是一个如何做你上面要求的事情
但是有一个合理的警告:这是C#你需要使用上面的链接来转换,因为我不是一个VB.Net开发人员
string path = "./"; //your own path
string name = "Tempo"; //filename
XmlDocument f = new XmlDocument();
f.Load(path + name + ".xml");
XmlNodeList a = f.GetElementsByTagName("Url");
for (int i = 0; i < a.Count; i++)
{
a[i].InnerText = "" //This had the data inside <Url>...</Url>
}
f.Save(path+name); //Edited to add the save
string path=“./”//你自己的路
string name=“Tempo”//文件名
XmlDocument f=新的XmlDocument();
f、 加载(路径+名称+“.xml”);
XmlNodeList a=f.GetElementsByTagName(“Url”);
for(int i=0;i
更改为Xml类会更容易。你考虑过这样的选择吗?我尝试了ReGEX,XML到DataSet。但是我不知道如何使用XMLDoc和XML。我也试过了,但会失败的。是的子节点。那么我将如何进行查询呢?更改为Xml类将更容易。你考虑过这样的选择吗?我尝试了ReGEX,XML到DataSet。但是我不知道如何使用XMLDoc和XML。我也试过了,但会失败的。是的子节点。那么我将如何进行查询呢?当XML很大时,打开一个文件并将其加载到一个结构搜索并保存整个文件从来都不是一个轻松的操作。但我不认为使用正则表达式更简单,但我没有数据支持我的观点。我不会保存到文件中。我在一个字符串中处理它。很好地节省了一点性能。您可以尝试使用正则表达式(如果您完成了它)和此方法进行比较。您还可以使用f.Load(string)b打开一个文件,将其加载到结构搜索。当XML很大时,保存完整文件从来都不是一项轻松的操作。但我不认为使用正则表达式更简单,但我没有数据支持我的观点。我不会保存到文件中。我在一个字符串中处理它。很好地节省了一点性能。如果你完成了正则表达式,你可以尝试使用time和这个方法进行比较。顺便说一句,你也可以使用f.Load(string)