很奇怪!当我加载和更换 使用空字符串
var document = new HtmlDocument();
document.LoadHtml(data);
document.DocumentNode.OuterHtml.Replace("<tbody>", "");
Run Code Online (Sandbox Code Playgroud)
这工作正常,<tbody>将被删除.
当我尝试使用替换<br> 时<br/>,
document.DocumentNode.OuterHtml.Replace("<br>", "<br/>");
Run Code Online (Sandbox Code Playgroud)
这是行不通的 :(
也尝试过,
var brTags = document.DocumentNode.SelectNodes("//br");
if (brTags != null)
{
foreach (HtmlNode brTag in brTags)
{
brTag.OuterHtml = "<br/>";
// brTag.Name= "br/"; - > Also this one :(
}
}
Run Code Online (Sandbox Code Playgroud)
HTMLAgilityPack的replace()函数不适用于自闭标签?
问题:我需要删除所有<p>标记的样式属性,如果它包含font-weight:bold属性,则添加<b>到它.
例如:如果html是
<p style="margin-top:0pt; margin-bottom:0pt;font-weight:bold; font-weight:bold;font-size:10pt; font-family:ARIAL" align="center"> SOME TEXT HERE</p>.
输出应该是:
<p align="center"> <b>SOME TEXT HERE</b></p>
我正在使用以下代码,
var htmlDocument = new HtmlDocument();
htmlDocument.LoadHtml(htmlPage);
foreach (var htmlTag in attributetags)
{
var Nodes = htmlDocument.DocumentNode.SelectNodes("//p");
if (Nodes != null)
{
bool flag = false;
foreach (var Node in Nodes)
{
if (Node.Attributes["style"] != null)
{
if (Node.Attributes["style"].Value.Contains("font-weight:bold"))
{
var bnode = HtmlNode.CreateNode("<b>");
Node.PrependChild(bnode);
}
Node.Attributes.Remove("style");
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我也尝试过 Node.InsertAfter(bcnode, Node), Node.InsertBefor(bnode, …
我的HTML内容是
<a href="#asdf">asdf</a>
<H5 align="left"><A href="#d570525d497.htm#toc">Table
of Contents</A><br></H5>
Run Code Online (Sandbox Code Playgroud)
我正在使用HTML Agility Pack来加载html.我想找到<a>节点并删除节点而不删除其内部文本,如下所述
asdf
<H5 align="left">Table
of Contents<br></H5>
Run Code Online (Sandbox Code Playgroud)
我正在使用下面的代码,
var htmlDocument = new HtmlDocument();
htmlDocument.LoadHtml(htmlPage);
var Nodes = htmlDocument.DocumentNode.SelectNodes("//a");
foreach (var Node in Nodes)
{
Node.InnerText.Trim();
}
Run Code Online (Sandbox Code Playgroud)
它不起作用.代码出了什么问题?
这是我的XML,
<A>
<B id="ABC">
<C name="A" />
<C name="B" />
</B>
<X>
<B id="ZYZ">
<C name="A" />
<C name="B" />
</B>
</X>
</A>
Run Code Online (Sandbox Code Playgroud)
我正在使用以下代码删除<X>节点而不删除其下降/子节点,
XDocument doc = XDocument.Load("D:\\parsedXml.xml");
doc.Descendants("A").Descendants("X").Remove();
Run Code Online (Sandbox Code Playgroud)
但正在删除整个<X>块.
预期产量:
<A>
<B id="ABC">
<C name="A" />
<C name="B" />
</B>
<B id="ZYZ">
<C name="A" />
<C name="B" />
</B>
</A>
Run Code Online (Sandbox Code Playgroud) 这是我的 xml,
<root>
<A>
<B id="ABC">one
</B>
<B id="ZYZ">two
</B>
<B id="QWE">three
</B>
<B>four
</B>
</A>
</root>
Run Code Online (Sandbox Code Playgroud)
使用以下C#代码仅获取节点<B id="QWE">three</B>,
var x = xdoc.Descendants("B").Where(ele => ele.Attribute("id").Value.Equals("QWE"));
Run Code Online (Sandbox Code Playgroud)
但变量x始终为空,任何帮助表示赞赏!
var seriesonfo 包含以下XML,
<series id="S000002334Member">
<class id="C000006118Member" />
</series>
<series id="S000002334Member">
<class id="C000006119Member" />
</series>
Run Code Online (Sandbox Code Playgroud)
C#Code to group"series"节点基于"id"属性:
var result = new XElement("SC",
new[]
{
new XElement("seriesAndClassInfo", seriesonfo.GroupBy(a => a.Element("series").Attribute("id")))
}
Run Code Online (Sandbox Code Playgroud)
分组后的预期XML:
<series id="S000002334Member">
<class id="C000006118Member" />
<class id="C000006119Member" />
</series>
Run Code Online (Sandbox Code Playgroud)
小组不工作.
<root>
<A testId ="test">
<B id="ABC">one
</B>
<B id="ZYZ">two
</B>
<B id="QWE">three
</B>
<B>four
</B>
</A>
</root>
Run Code Online (Sandbox Code Playgroud)
需要提取testId节点的属性值。我正在<A>使用以下c#代码,但是它抛出空异常。
doc.XPathSelectElement("//A/@testId")
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏!