0

CMSで生成されたHTMLページを解析し、「Example」という名前属性を持つ子ノードを持つHTMLAgiligyPackノードの周りにリストアイテムタグを追加する必要があります。

C#コード

HtmlDocument doc = new HtmlDocument();
doc.Load("test.htm");
foreach (HtmlNode docObjects in doc.DocumentNode.SelectNodes("//object[@type='text/sitemap']"))
{
  HtmlNodeCollection paramNodes = docObjects.ChildNodes;
  foreach (HtmlNode paramNode in paramNodes)
  {
    string paramName = paramNode.GetAttributeValue("name", null);
    string paramValue = paramNode.GetAttributeValue("value", null);
    HtmlNode findItem = paramNode.NextSibling;
    if (paramName == "Example")
    {
     //Add listitem (<li>) tags to the paramName node 
    }
  }
}

test.htm

<OBJECT type="text/sitemap">
    <param name="Example" value="Help.chm::\toc.hhc">
</OBJECT>
<OBJECT type="text/sitemap">
    <param name="Example" value="Help2.chm::\toc.hhc">
</OBJECT>
<OBJECT type="text/sitemap">
    <param name="Example" value="Help3.chm.chm::\toc.hhc">
</OBJECT>

する必要があります

<li><OBJECT type="text/sitemap">
    <param name="Example" value="Help.chm::\testing.htm">
</OBJECT></li>
<li><OBJECT type="text/sitemap">
    <param name="Example" value="Help2.chm::\testing.htm">
</OBJECT></li>
<li><OBJECT type="text/sitemap">
    <param name="Example" value="Help3.chm::\testing.htm">
</OBJECT></li>

あなたが提供できるどんな援助も大いにありがたいです。これは私が取り組んでいるより大きなプロジェクトの一部であり、将来的に支援を要請する可能性があります。C#に戻るクラッシュコースが必要です-よろしくお願いします。

4

1 に答える 1

0

ifこれが1つの方法です(コードは句内に入ります):

var objectNode = paramNode.ParentNode;
var li = doc.CreateElement("li");
objectNode.Remove();
li.AppendChild(objectNode);

doc.DocumentNode.AppendChild(li);
于 2012-07-03T19:47:21.703 に答える