Je dois créer un cache en utilisant un fichier XML. Voici la méthode que je vais utiliser. Je veux que cette méthode retourne l'ID basé sur le key-product_name. Donc, je veux qu'il crée une cache une fois par programme, et seulement si la clé n'est pas trouvée, alors créez une [nouvelle entrée dans le] cache. Si tout semble correct, le problème est d'obtenir l'identifiant du produit. S'il vous plaît donnez votre avis. J'ai inclus le code et le fichier XML.Besoin d'obtenir la valeur du frère
public static string getProductId(string product_name)
public static string getTechId(string fieldName)
{
Cache cache = HttpContext.Current.Cache; //neeed to change this.
string cacheNameEpm = product_name + "PrdName";
if (cache[cacheNameEpm] == null)
{
XPathDocument doc = new XPathDocument(HttpContext.Current.Request.MapPath("inc/xml/prd.xml"));
XPathNavigator navigator = doc.CreateNavigator();
string selectName = "/Products/Product/ProductName";
XPathNodeIterator nodes = navigator.Select(selectName);
while (nodes.MoveNext())
{
switch (nodes.Current.Name)
{
case "ProductName":
cacheNameEpm = nodes.Current.Value + "PrdName";
navigator.Select("/Products/Product/ProductId");
navigator.MoveToNext();
if (nodes.Current.Name == "ProductId")
{
id = navigator.Value;
}
cache.Add(cacheNameEpm, id, null, DateTime.Now + new TimeSpan(4, 0, 0), System.Web.Caching.Cache.NoSlidingExpiration, System.Web.Caching.CacheItemPriority.Default, null);
break;
}
}
}
return cache[cacheNameEpm] as string;
}
Voici le fichier xml:
<Products>
<Product>
<ProductName>PDPArch</ProductName>
<ProductId>57947</ProductId>
</Product>
<Product>
<ProductName>TYFTType</ProductName>
<ProductId>94384</ProductId>
</Product>
</Products>
Il est difficile de répondre puisque vous ne dites pas ce qui ne va pas lorsque vous essayez le code ci-dessus. –
Je reçois la valeur ProductName, mais je n'arrive pas à obtenir le frère qui est la valeur de l'ID du produit. C'est comme un dictionnaire a besoin d'un nom de produit et d'un identifiant. –
Y a-t-il un moyen d'affecter l'objet doc au cache? –