Мне нужно добавить «аннотации» к существующим документам HTML - лучше всего в виде значений свойств строки, которые я могу читать и писать по имени.
Очевидно (для меня), метаэлементы в заголовке кажутся обычным способом - то есть добавление / изменение таких элементов, как
<head>
<meta name="unique-id_property-name" content="property-value"/>
...
</head>
Вопрос 1: Это "приемлемо" / ок или есть лучший способ добавить метаданные?
У меня был небольшой опыт получения / mut (il) содержимого HTML через document
в элементе управления веб-браузера. Для этой задачи я уже загрузил HTML-документ в объект HTMLDocument
, но я не уверен, что делать дальше:
// what I have:
IHTMLDocument2Ptr doc;
doc.CreateInstance(__uuidof(HTMLDocument));
IPersistFile pf = doc;
pf->Load(fileName, STGM_READ);
// ... what now?
Вопросы 2: Должен ли я использовать что-то еще, кроме HTMLDocument
?
Вопросы 3..N:
Как получить элемент head
?
Как мне получить значение метаэлемента с заданным именем?
Как установить значение метаэлемента (добавление элемента в том и только в том случае, если он еще не существует)?
doc->all
возвращает коллекцию всех тегов, которые я могу перечислить, даже если count возвращает 0. Я мог бы отсканировать это для head
, затем отсканировать это для всех meta
, где имя начинается с определенной строки, и т. Д. - но это кажется очень неуклюжим.