Как создать собственный элемент AngleSharp и вставить/преобразовать разделы HTML в элемент

Я использую AngleSharp и хотел бы знать, как преобразовать разделы HTML во что-то вроде SVG, XML или другого поддерживаемого формата.

Вопрос: как мне создать собственный IElement AngleSharp, а затем преобразовать содержимое div (или ссылки) внутри пользовательского элемента, т. е. взять найденный div/ссылки, а затем поместить содержимое div внутрь пользовательского элемента. элемент


Ниже приведен код, который я пытаюсь

var divToTransform = document.QuerySelector("div.class1.class2");
// need a custom transform, something simple like replacing the tags
new IElement myCustomeAngleBracketQml = new CustomeAngleBracketQml(divToTransform);
//something simple like replacing the tags
myCustomeAngleBracketQml.Replace("div", Tag).With("QmlDiv");
//insert the content
myCustomeAngleBracketQml.TextContent = divToTransform.innerContent();
//1) how to put this back in the place of the original div, after deleting that div?
///2) *how to target a specific node in the Dom
document./*after Div with class, or Div with Id*/.AppendChild(element);

Благодарность


person Transformer    schedule 28.01.2017    source источник


Ответы (1)


использовать Xml Linq XElement

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {

            XElement doc = new XElement("QmlDiv", new object[] {
                new XElement("class1", new object[] {
                    new XElement("class2",divToTransform.innerContent)
                }),
            });
        }
    }
}
person jdweng    schedule 28.01.2017
comment
привет, хотя это здорово, я использую AngleSharp lib (кстати - будет ли ваш фрагмент кода заменять div теги с моим пользовательским тегом) - person Transformer; 28.01.2017
comment
Да, вы можете добавить мой код в цикл использования linq для перечисления. - person jdweng; 28.01.2017