繁体   English   中英

使用 C# 转换 HTML 标签

[英]Convert HTML Tags Using C#

我有一种情况,我需要像这样转换嵌套的 HTML 列表:

<ol>
<li>Item 1
    <ol>
        <li> Item 1.1
            <ol>
                <li>Item 1.1.1</li>
                <li>Item 1.1.2</li>
            </ol>
        </li>
    </ol>
</li>
<li>Item 2
    <ol>
        <li> Item 2.1
            <ol>
                <li>Item 2.1.1</li>
                <li>Item 2.1.2</li>
            </ol>
        </li>
    </ol>
</li>

进入单独的缩进表(其中每个 ol 是一个表,适当缩进以看起来像嵌套表)。 最好的方法是什么? 我已经查看了 HtmlAgility 包,但是一旦找到它们,我就无法弄清楚如何替换标签(我能够找到所有合适的标签,但对它们无能为力)......

基本上,我需要 output 表看起来像这样:

<table>
<tr>
    <td>
        &bull;
    </td>
    <td>
        Item 1
    </td>
</tr>
</table>
<table style="margin-left: 5px;">
    <tr>
        <td>
            &bull;
        </td>
        <td>
            Item 1.1
        </td>
    </tr>
</table>
<table style="margin-left: 10px;">
    <tr>
        <td>
            &bull;
        </td>
        <td>
            Item 1.1.1
        </td>
    </tr>
    <tr>
        <td>
            &bull;
        </td>
        <td>
            Item 1.1.2
        </td>
    </tr>
</table>
<table>
    <tr>
        <td>
            &bull;
        </td>
        <td>
            Item 2
        </td>
    </tr>
</table>
<table style="margin-left: 5px;">
    <tr>
        <td>
            &bull;
        </td>
        <td>
            Item 2.1
        </td>
    </tr>
</table>
<table style="margin-left: 10px;">
    <tr>
        <td>
            &bull;
        </td>
        <td>
            Item 2.1.1
        </td>
    </tr>
    <tr>
        <td>
            &bull;
        </td>
        <td>
            Item 2.1.2
        </td>
    </tr>
</table>

<ol>替换为<table><li>替换为<tr><td>的正则表达式不起作用吗?

只需将您尝试做的事情分解成更简单的步骤即可。

1) 将所有<ol>替换为<table><tr>
2) 将所有<li>替换为<td>
3) 将所有的</li>替换为</td>
4) 将所有的</ol>替换为</tr></table>

...或类似的。 如果我正确理解您的问题,它基本上是一个直接的翻译。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM