<LI>
閉じられていない要素を含むHTMLドキュメントがあります。開始タグ
に続く</LI>
それぞれの最後に追加する必要があります。注:前に付いていないオブジェクトには、タグを追加しないでください</OBJECT>
<LI>
<LI>
</LI>
</OBJECT>
<OBJECT value="example">
<param name="Joe">
</OBJECT>
<UL>
<LI> <OBJECT type="example">
<param name="Pat">
<param name="State" value="Arizona">
</OBJECT>
<UL>
<LI> <OBJECT type="example">
<param name="Steve">
<param name="State" value="California">
</OBJECT>
<OBJECT type="text/sitemap">
<param name="Carol">
</OBJECT>
これは私がこれまで運がなかったものです
private void closeListItems(string doc)
{
StringBuilder sb = new StringBuilder();
Regex rx = new Regex("(<LI>.(.+?)</OBJECT>)", RegexOptions.Multiline | RegexOptions.IgnoreCase);
string[] hhcFile = File.ReadAllLines(doc);
string temp = "";
foreach (string line in hhcFile)
{
temp += line + "\n";
}
temp = rx.Replace(temp, "<LI>");
StreamWriter sw = new StreamWriter(Application.StartupPath + "\\liFix.txt");
sw.Write(temp);
sw.Close();
}
更新:私も運がなくてこれを試しました:
private void closeListItems(string doc)
{
StringBuilder sb = new StringBuilder();
string[] hhcFile = File.ReadAllLines(doc);
string temp = "";
bool liOpen = false;
foreach (string line in hhcFile)
{
temp = line;
if (line.Contains("<LI>"))
{
liOpen = true;
}
if (line.Contains("</OBJECT>") && liOpen == true)
{
temp.Replace(temp, temp + "</LI>");
liOpen = false;
}
sb.Append("\n" + temp);
}
File.WriteAllText("fixLi.txt", sb.ToString());
}