Просто добавьте это в конец вашей HTML-страницы ...
<script>
Your_Function();
</script>
Потому что, документы HTML анализируются сверху вниз.
Я предлагаю несколько иной подход к использованию Count ()
- используйте Any ()
. Преимущество в том, что Any () может остановиться, как только он получит какие-либо совпадения:
var smsWithNoNumber = main.Descendants("SMS")
.Where(x => !x.Elements("Number").Any());
В этом случае это не будет иметь большого значения, но в тех случаях, когда Count ()
, возможно, придется считать миллион обращений просто для того, чтобы сказать вам, что был хотя бы один, это полезный трюк. Я бы сказал, что это также более четкий индикатор того, что вы имеете в виду.
Предполагая, что у вас есть номер в некоторой канонизированной форме и ваш XML загружен в XmlDocument
или что-то подобное, самый простой способ сделать это без использования LINQ - это Запрос XPath:
string pattern = String.Format("/Database/SMS/Number[. = '{0}']", number);
if (myDoc.SelectSingleNode(pattern) != null)
{
// number already exists in document
}
Вы можете применить XSL-документ, который переводит данные, перебирая узлы SMS и исключая те, которые имеют повторяющееся значение Number / text ()
Проверка будет примерно так:
<xsl:template match="SMS">
<xsl:variable name="parentNode" select="." />
<xsl:if test="preceding-sibling::SMS/Number/text()=$parentNode/Number/text()">
.....include a copy of node......
</xsl:if>
</xsl:template>