public string BuildHaml(string name, string description, string contacts, int id) { strPageHotelXaml str1 = new strPageHotelXaml(); str1.NameHotel = name; str1.DiscriptionHotel = description; str1.ContactsHotel = contacts; str1.id_Hotel = id; return BuildHaml(str1); }
protected string BuildHaml(strPageHotelXaml str) { string text; XDocument doc; HTMLparsing html = new HTMLparsing(); /*Создаем имя документа как ID123*/ string st = "ID" + str.id_Hotel.ToString(); XDocument x = new XDocument(new XDocumentType(st, null, null, null), new XElement(st)); /*3 базовых области вывода XElement*/ x.Element(st).Add(new XElement("Название")); x.Element(st).Add(new XElement("Описание")); x.Element(st).Add(new XElement("Контакты")); //Добавляем Название отеля XElement tt1 = x.Element(st).Element("Название"); tt1.Add(new XComment(str.NameHotel)); //description XElement tt2 = x.Element(st).Element("Описание"); XElement tt3 = x.Element(st).Element("Контакты"); //Добавляем корневой элемент, дабы все не ругалось об его //отсутствии (в начало + строка + конец) st = "<KOREN>" + str.DiscriptionHotel + "</KOREN>"; //Удаляем управляющие символы st = st.Replace("<люкс>", "люкс"); st = st.Replace("<полулюкс>", "полулюкс"); st = st.Replace("<li>", "-"); st = st.Replace("</li>", "-"); st = st.Replace("&", "-"); st = st.Replace("<a", "!!!!!"); st = st.Replace("</a>", "!!!!!"); st = st.Replace("<6. b>", " "); st = st.Replace("<br><br>", " "); //</b><br> st = st.Replace("</b><br>", "/b"); try {//Создаем XDocument для разбора строки doc = XDocument.Parse(st, LoadOptions.SetLineInfo); } catch { return "ОШИБКА ОБРАБОТКИ"; } //Разбираем discription foreach (XElement el in doc.Root.Elements()) { //tt2 - Описание st = el.Value; text = html.ParsingHTML(str.DiscriptionHotel, st); tt2.Add(new XElement("Рубрика", new XAttribute("атрибут", st), new XComment( text))); } //Разбираем contacts st = "<KOREN>" + str.ContactsHotel + "</KOREN>"; //не нравится http пока подменем //st = st.Replace("<a", "<a>"); st = st.Replace("<a", "!!!!!"); st = st.Replace("</a>", "!!!!!"); try { doc = XDocument.Parse(st, LoadOptions.SetLineInfo); } catch { return "ОШИБКА ОБРАБОТКИ"; } //st = st.Replace("<a>", "<a"); foreach (XElement el in doc.Root.Elements()) { st = el.Value; text = html.ParsingHTML(str.ContactsHotel, st); /*новое*/ st = st.Replace(" ", "_"); st = st.Replace(":", "-"); st = st.Replace(",", "-"); st = st.Replace("(", "-"); st = st.Replace(")", "-"); st = st.Replace("/", "-"); if ((st == null) || (st == "")) return "ОШИБКА ОБРАБОТКИ"; tt3.Add(new XElement(st, text)); } return x.ToString(); }