మంత్లీ ఆర్కైవ్స్: యౌవన 2011

ఇంకా మరిన్ని క్వెరీ–ఒక చిత్రం ఉదాహరణ పునఃపరిమాణం

నేను ఒక క్లయింట్ యొక్క పాత అమ్మకందారుని నుండి ఒక వెబ్ భాగం వారసత్వంగా మరియు ఒక చిత్రం పరిమాణం సమస్య ఉంది.  చిత్రాలు 60 ఉండాలి×50 కానీ కొన్ని అసాధారణ కారణం, అసలు విక్రేత 42 వాటిని బలవంతంగా×42, కాబట్టి వారు squashed చూడండి:

 

మంచి చిత్రం

చెడు చిత్రం

ఇక్కడ మార్కప్ వార్తలు (కొంతవరకు సులభతరమైన):

<పట్టిక తరగతి = 'ఎక్స్టెండెడ్ క్లుప్తంగ'>
  <thead>
    <tr>
      <వ  వెడల్పు = '100′>3 మంగళవారం</వ>
    </tr>
  </thead>

  <tbody>
    <tr తరగతి = 'సూచన'>
      <td వెడల్పు = '100′>
        <స్టంప్>
          <li తరగతి = 'అధిక'>ఎత్తైన: 72&మీరు;F</li>
          <li తరగతి = 'తక్కువ'>తక్కువ: 44&మీరు;F</li>
          <li తరగతి = 'పరిస్థితి'>సన్నీ
            <img src =’
http://deskwx.weatherbug.com/images/Forecast/icons/localized/60×50/en/trans/cond007.png’ వెడల్పు = '42’ ఎత్తు = '42’ alt =” />
          </li>
        </స్టంప్>
      </td>
    </tr>

  </tbody>

</పట్టిక>

మీరు గమనించండి మేము అయినప్పటికీ చిత్రం కూడా మార్గం సరైన పరిమాణం చూపిస్తుంది (60×50) అసలు విక్రేత 42 లో వచ్చింది×42.  ఎందుకు?  వెర్రియైన.

ఏమైనప్పటికి, నేను ఈ సమస్య త్వరగా మరియు సులభంగా పరిష్కారం కోరుకున్న మరియు నేను j క్వెరీ మారింది.  ట్రిక్ తగిన అన్ని గుర్తించడం జరిగింది <img> టాగ్లు.  నేను ఏ ఇతర img టాగ్లు తో గురించి చెత్త కోరుకోలేదు (అనేక ఉన్నాయి, వీటిలో).  J క్వెరీ ఈ బిట్ ట్రిక్ చేసింది:

<script type="text/javascript" src ="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></లిపి>

<script type="text/javascript">
     $(పత్రం).సిద్ధంగా(ఫంక్షన్ () {

         $(‘లి.కండిషన్ > img ').ప్రతి(ఫంక్షన్ (సూచిక, అంశం)
           
{
             $(అంశం).css("width", "60"); 
             $(అంశం).css("height", "50");
            });
     }); // పత్రం లోడ్
</లిపి>

కోడ్ యొక్క బిట్ సేకరణ తెలుసుకుంటాడు <li> దీని తరగతి టాగ్స్ "పరిస్థితి" మరియు <img> పిల్లలు.  ఇది ఆ యొక్క అన్ని ద్వారా iterates.  ఒక మనోజ్ఞతను వంటి పని.

నేను బహుశా దీన్ని చేయడానికి కాలేదు, కానీ నేను π పరిష్కరించాడు అని unix వ్యక్తి ఒక రకమైన ఎప్పుడూ కు 18 అంకెలు PRECISION SED మరియు awk ఉపయోగించి మరియు నేను j క్వెరీ వ్యక్తి ఉంటే గాని ఆ రకమైన కాదు స్మైల్.

</చివర>

నా బ్లాగ్ సబ్స్క్రయిబ్.

వద్ద ట్విట్టర్ లో నన్ను అనుసరించండి http://www.twitter.com/pagalvin

LINQ తో XML పదనిరూపణ

ఇక్కడ LINQ కొన్ని అన్వయించడం ఉపయోగించి ఒక వేగవంతమైన ఉదాహరణకు  XML మరియు తీపి వద్ద పొందండి, తీపి లక్షణాలు విషయంలో.

ఇక్కడ నేను విశ్లేషించడం మీరు XML వార్తలు:

<?xml version="1.0" encoding="utf-8" ?>
<DeafultConfigurationSets>
  <PageLayouts>

    <PageLayout name="xyzzy">
      <టాబ్లు>
        <Tab TabOrder="1" TabLabel="x" SharePointContentType="a" AdditionalConstraints="ac1"/>
        <Tab TabOrder="2" TabLabel="y" SharePointContentType="b" AdditionalConstraints="ac2"/>
      </టాబ్లు>
    </PageLayout>

    <PageLayout name="xyzzy2">
      <టాబ్లు>
        <Tab TabOrder="100" TabLabel="x" SharePointContentType="a" AdditionalConstraints="ac1"/>
        <Tab TabOrder="101" TabLabel="y" SharePointContentType="b" AdditionalConstraints="ac2"/>
        <Tab TabOrder="103" TabLabel="z" SharePointContentType="c" AdditionalConstraints="ac3"/>
      </టాబ్లు>
    </PageLayout>

  </PageLayouts>
</DeafultConfigurationSets>

నేను పైన అన్వయించడం ద్వారా పని కొన్ని టాబ్లు అప్ నిర్మించడానికి కావలసిన.  నా టాబ్లు ఒక పేజీ లేఅవుట్ ఆధారపడి.  నా పేజీ లేఅవుట్ యొక్క పేరు "xyzzy2" ఉంటే అప్పుడు నేను టాబ్లను పొందాలనుకోవడం 100, 101 మరియు 103 (లో టాబ్ <PageLayout పేరు = "xyzzy2">).

ఇక్కడ అది ఆ LINQ వార్తలు:

allTabs = ఉంది
              లో p నుండి
                  XElement.Parse(theXmlToParse).
                 
ఎలిమెంట్స్("PageLayouts").
                  ఎలిమెంట్స్("PageLayout")
              పేరు (p.Attribute("name").Value.Equals("xyzzy2"))
              p.Elements లో m నుండి("Tabs").ఎలిమెంట్స్("Tab")
              m ఎంచుకోండి;

          Results.Text = string.Empty;

          foreach (ATAB allTabs లోకి)
          {
              Results.Text =
                  "Tab Order: " + aTab.Attribute("TabOrder").విలువ + " |" +
                  "Tab Label: " + aTab.Attribute("TabLabel").విలువ + " | " +
                  "SharePointContentType: " + aTab.Attribute("SharePointContentType").విలువ + " | " +
                  "AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").విలువ + "\r";
          }

పైన లో, వేరియబుల్ "theXmlToParse" ఒక స్ట్రింగ్ వేరియబుల్ ఉంది, కానీ మీరు లోడ్ ఉపయోగించవచ్చు() ప్రవాహం మీద పద్ధతి మీరు కోరుకుంటే.

ఈ కోడ్ అమలు చేసినప్పుడు "ఫలితాలు" ఒక వెబ్ పత్రంలో ఒక లేబుల్ మరియు, ఈ అనిపిస్తోంది:

SNAGHTML11cd2e7c

నేను ఇంకా ఫలితాలు క్రమం ఎలా పని లేదు, కాబట్టి నేను ఒక భవిష్యత్ బ్లాగ్ పోస్ట్ కోసం ఆ చెప్పను.

</చివర>

నా బ్లాగ్ సబ్స్క్రయిబ్.

వద్ద ట్విట్టర్ లో నన్ను అనుసరించండి http://www.twitter.com/pagalvin